Commit eb684507 authored by Jörn Engel's avatar Jörn Engel Committed by David Woodhouse

[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: default avatarJörn Engel <joern@logfs.org>
Signed-off-by: default avatarDavid Woodhouse <dwmw2@infradead.org>
parent 1dd7fdb1
...@@ -220,7 +220,7 @@ static int doc_ecc_decode(struct rs_control *rs, uint8_t *data, uint8_t *ecc) ...@@ -220,7 +220,7 @@ static int doc_ecc_decode(struct rs_control *rs, uint8_t *data, uint8_t *ecc)
} }
} }
/* If the parity is wrong, no rescue possible */ /* If the parity is wrong, no rescue possible */
return parity ? -1 : nerr; return parity ? -EBADMSG : nerr;
} }
static void DoC_Delay(struct doc_priv *doc, unsigned short cycles) 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,7 +1034,7 @@ static int doc200x_correct_data(struct mtd_info *mtd, u_char *dat,
WriteDOC(DOC_ECC_DIS, docptr, Mplus_ECCConf); WriteDOC(DOC_ECC_DIS, docptr, Mplus_ECCConf);
else else
WriteDOC(DOC_ECC_DIS, docptr, ECCConf); WriteDOC(DOC_ECC_DIS, docptr, ECCConf);
if (no_ecc_failures && (ret == -1)) { if (no_ecc_failures && (ret == -EBADMSG)) {
printk(KERN_ERR "suppressing ECC failure\n"); printk(KERN_ERR "suppressing ECC failure\n");
ret = 0; ret = 0;
} }
......
...@@ -189,7 +189,7 @@ int nand_correct_data(struct mtd_info *mtd, u_char *dat, ...@@ -189,7 +189,7 @@ int nand_correct_data(struct mtd_info *mtd, u_char *dat,
if(countbits(s0 | ((uint32_t)s1 << 8) | ((uint32_t)s2 <<16)) == 1) if(countbits(s0 | ((uint32_t)s1 << 8) | ((uint32_t)s2 <<16)) == 1)
return 1; return 1;
return -1; return -EBADMSG;
} }
EXPORT_SYMBOL(nand_correct_data); EXPORT_SYMBOL(nand_correct_data);
......
...@@ -202,7 +202,7 @@ ...@@ -202,7 +202,7 @@
* deg(lambda) unequal to number of roots => uncorrectable * deg(lambda) unequal to number of roots => uncorrectable
* error detected * error detected
*/ */
count = -1; count = -EBADMSG;
goto finish; goto finish;
} }
/* /*
......
...@@ -320,6 +320,7 @@ EXPORT_SYMBOL_GPL(encode_rs8); ...@@ -320,6 +320,7 @@ EXPORT_SYMBOL_GPL(encode_rs8);
* The syndrome and parity uses a uint16_t data type to enable * 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 * symbol size > 8. The calling code must take care of decoding of the
* syndrome result and the received parity before calling this code. * 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, 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, uint16_t *s, int no_eras, int *eras_pos, uint16_t invmsk,
...@@ -363,6 +364,7 @@ EXPORT_SYMBOL_GPL(encode_rs16); ...@@ -363,6 +364,7 @@ EXPORT_SYMBOL_GPL(encode_rs16);
* @corr: buffer to store correction bitmask on eras_pos * @corr: buffer to store correction bitmask on eras_pos
* *
* Each field in the data array contains up to symbol size bits of valid data. * 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, 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, uint16_t *s, int no_eras, int *eras_pos, uint16_t invmsk,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment