aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJörn Engel <joern@logfs.org>2007-10-20 23:16:32 +0200
committerDavid Woodhouse <dwmw2@infradead.org>2007-10-20 22:30:54 +0100
commiteb684507159de2162cd6fc62f2b3a671afd5a61d (patch)
tree18bdc17456ef9af6ed85f1d08a735d8fe911d852 /lib
parent[RSLIB] BUG() when passing illegal parameters to decode_rs8() or decode_rs16() (diff)
downloadlinux-dev-eb684507159de2162cd6fc62f2b3a671afd5a61d.tar.xz
linux-dev-eb684507159de2162cd6fc62f2b3a671afd5a61d.zip
[MTD] [NAND] Replace -1 with -EBADMSG in nand error correction code
Magic numerical values are just bad style. Particularly so when undocumented. Signed-off-by: Jörn Engel <joern@logfs.org> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Diffstat (limited to 'lib')
-rw-r--r--lib/reed_solomon/decode_rs.c2
-rw-r--r--lib/reed_solomon/reed_solomon.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/lib/reed_solomon/decode_rs.c b/lib/reed_solomon/decode_rs.c
index 65bc718f0dc0..0ec3f257ffdf 100644
--- a/lib/reed_solomon/decode_rs.c
+++ b/lib/reed_solomon/decode_rs.c
@@ -202,7 +202,7 @@
* deg(lambda) unequal to number of roots => uncorrectable
* error detected
*/
- count = -1;
+ count = -EBADMSG;
goto finish;
}
/*
diff --git a/lib/reed_solomon/reed_solomon.c b/lib/reed_solomon/reed_solomon.c
index 5b0d8522b7ca..3ea2db94d5b0 100644
--- a/lib/reed_solomon/reed_solomon.c
+++ b/lib/reed_solomon/reed_solomon.c
@@ -320,6 +320,7 @@ EXPORT_SYMBOL_GPL(encode_rs8);
* The syndrome and parity uses a uint16_t data type to enable
* symbol size > 8. The calling code must take care of decoding of the
* syndrome result and the received parity before calling this code.
+ * Returns the number of corrected bits or -EBADMSG for uncorrectable errors.
*/
int decode_rs8(struct rs_control *rs, uint8_t *data, uint16_t *par, int len,
uint16_t *s, int no_eras, int *eras_pos, uint16_t invmsk,
@@ -363,6 +364,7 @@ EXPORT_SYMBOL_GPL(encode_rs16);
* @corr: buffer to store correction bitmask on eras_pos
*
* Each field in the data array contains up to symbol size bits of valid data.
+ * Returns the number of corrected bits or -EBADMSG for uncorrectable errors.
*/
int decode_rs16(struct rs_control *rs, uint16_t *data, uint16_t *par, int len,
uint16_t *s, int no_eras, int *eras_pos, uint16_t invmsk,