mirror of
https://github.com/adulau/aha.git
synced 2024-12-27 19:26:25 +00:00
[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>
This commit is contained in:
parent
1dd7fdb163
commit
eb68450715
4 changed files with 6 additions and 4 deletions
|
@ -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,
|
||||||
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,
|
||||||
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 @@
|
||||||
* 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);
|
||||||
* 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);
|
||||||
* @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,
|
||||||
|
|
Loading…
Reference in a new issue