diff options
-rw-r--r-- | drivers/mtd/nand/diskonchip.c | 4 | ||||
-rw-r--r-- | drivers/mtd/nand/nand_ecc.c | 2 | ||||
-rw-r--r-- | lib/reed_solomon/decode_rs.c | 2 | ||||
-rw-r--r-- | lib/reed_solomon/reed_solomon.c | 2 |
4 files changed, 6 insertions, 4 deletions
diff --git a/drivers/mtd/nand/diskonchip.c b/drivers/mtd/nand/diskonchip.c index ab9f5c5db38d..0e72153b3297 100644 --- a/drivers/mtd/nand/diskonchip.c +++ b/drivers/mtd/nand/diskonchip.c | |||
@@ -220,7 +220,7 @@ static int doc_ecc_decode(struct rs_control *rs, uint8_t *data, uint8_t *ecc) | |||
220 | } | 220 | } |
221 | } | 221 | } |
222 | /* If the parity is wrong, no rescue possible */ | 222 | /* If the parity is wrong, no rescue possible */ |
223 | return parity ? -1 : nerr; | 223 | return parity ? -EBADMSG : nerr; |
224 | } | 224 | } |
225 | 225 | ||
226 | static void DoC_Delay(struct doc_priv *doc, unsigned short cycles) | 226 | static void DoC_Delay(struct doc_priv *doc, unsigned short cycles) |
@@ -1034,7 +1034,7 @@ static int doc200x_correct_data(struct mtd_info *mtd, u_char *dat, | |||
1034 | WriteDOC(DOC_ECC_DIS, docptr, Mplus_ECCConf); | 1034 | WriteDOC(DOC_ECC_DIS, docptr, Mplus_ECCConf); |
1035 | else | 1035 | else |
1036 | WriteDOC(DOC_ECC_DIS, docptr, ECCConf); | 1036 | WriteDOC(DOC_ECC_DIS, docptr, ECCConf); |
1037 | if (no_ecc_failures && (ret == -1)) { | 1037 | if (no_ecc_failures && (ret == -EBADMSG)) { |
1038 | printk(KERN_ERR "suppressing ECC failure\n"); | 1038 | printk(KERN_ERR "suppressing ECC failure\n"); |
1039 | ret = 0; | 1039 | ret = 0; |
1040 | } | 1040 | } |
diff --git a/drivers/mtd/nand/nand_ecc.c b/drivers/mtd/nand/nand_ecc.c index fde593e5e634..9003a135e050 100644 --- a/drivers/mtd/nand/nand_ecc.c +++ b/drivers/mtd/nand/nand_ecc.c | |||
@@ -189,7 +189,7 @@ int nand_correct_data(struct mtd_info *mtd, u_char *dat, | |||
189 | if(countbits(s0 | ((uint32_t)s1 << 8) | ((uint32_t)s2 <<16)) == 1) | 189 | if(countbits(s0 | ((uint32_t)s1 << 8) | ((uint32_t)s2 <<16)) == 1) |
190 | return 1; | 190 | return 1; |
191 | 191 | ||
192 | return -1; | 192 | return -EBADMSG; |
193 | } | 193 | } |
194 | EXPORT_SYMBOL(nand_correct_data); | 194 | EXPORT_SYMBOL(nand_correct_data); |
195 | 195 | ||
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 @@ | |||
202 | * deg(lambda) unequal to number of roots => uncorrectable | 202 | * deg(lambda) unequal to number of roots => uncorrectable |
203 | * error detected | 203 | * error detected |
204 | */ | 204 | */ |
205 | count = -1; | 205 | count = -EBADMSG; |
206 | goto finish; | 206 | goto finish; |
207 | } | 207 | } |
208 | /* | 208 | /* |
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); | |||
320 | * The syndrome and parity uses a uint16_t data type to enable | 320 | * The syndrome and parity uses a uint16_t data type to enable |
321 | * symbol size > 8. The calling code must take care of decoding of the | 321 | * symbol size > 8. The calling code must take care of decoding of the |
322 | * syndrome result and the received parity before calling this code. | 322 | * syndrome result and the received parity before calling this code. |
323 | * Returns the number of corrected bits or -EBADMSG for uncorrectable errors. | ||
323 | */ | 324 | */ |
324 | int decode_rs8(struct rs_control *rs, uint8_t *data, uint16_t *par, int len, | 325 | int decode_rs8(struct rs_control *rs, uint8_t *data, uint16_t *par, int len, |
325 | uint16_t *s, int no_eras, int *eras_pos, uint16_t invmsk, | 326 | uint16_t *s, int no_eras, int *eras_pos, uint16_t invmsk, |
@@ -363,6 +364,7 @@ EXPORT_SYMBOL_GPL(encode_rs16); | |||
363 | * @corr: buffer to store correction bitmask on eras_pos | 364 | * @corr: buffer to store correction bitmask on eras_pos |
364 | * | 365 | * |
365 | * Each field in the data array contains up to symbol size bits of valid data. | 366 | * Each field in the data array contains up to symbol size bits of valid data. |
367 | * Returns the number of corrected bits or -EBADMSG for uncorrectable errors. | ||
366 | */ | 368 | */ |
367 | int decode_rs16(struct rs_control *rs, uint16_t *data, uint16_t *par, int len, | 369 | int decode_rs16(struct rs_control *rs, uint16_t *data, uint16_t *par, int len, |
368 | uint16_t *s, int no_eras, int *eras_pos, uint16_t invmsk, | 370 | uint16_t *s, int no_eras, int *eras_pos, uint16_t invmsk, |