Merge git://git.infradead.org/mtd-2.6
* git://git.infradead.org/mtd-2.6: [MTD] [NOR] Fix deadlock in Intel chip driver caused by get_chip recursion [JFFS2] Fix return value from jffs2_write_end() [MTD] [OneNAND] Fix wrong free the static address in onenand_sim [MTD] [NAND] Replace -1 with -EBADMSG in nand error correction code [RSLIB] BUG() when passing illegal parameters to decode_rs8() or decode_rs16() [MTD] [NAND] treat any negative return value from correct() as an error [MTD] [NAND] nandsim: bugfix in initialization [MTD] Fix typo in Alauda config option help text. [MTD] [NAND] add s3c2440-specific read_buf/write_buf [MTD] [OneNAND] onenand-sim: fix kernel-doc and typos [JFFS2] Tidy up fix for ACL/permissions problem.
This commit is contained in:
@@ -39,8 +39,7 @@
|
||||
|
||||
/* Check length parameter for validity */
|
||||
pad = nn - nroots - len;
|
||||
if (pad < 0 || pad >= nn)
|
||||
return -ERANGE;
|
||||
BUG_ON(pad < 0 || pad >= nn);
|
||||
|
||||
/* Does the caller provide the syndrome ? */
|
||||
if (s != NULL)
|
||||
@@ -203,7 +202,7 @@
|
||||
* deg(lambda) unequal to number of roots => uncorrectable
|
||||
* error detected
|
||||
*/
|
||||
count = -1;
|
||||
count = -EBADMSG;
|
||||
goto finish;
|
||||
}
|
||||
/*
|
||||
|
@@ -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,
|
||||
|
Reference in New Issue
Block a user