Commit f480b969 authored by Sascha Hauer's avatar Sascha Hauer Committed by Miquel Raynal

mtd: rawnand: omap2: Fix number of bitflips reporting with ELM

omap_elm_correct_data() returns the number of bitflips for the whole
page. This is wrong, it should return the maximum number of bitflips
found in each ECC step.

In my case with a 4k page size NAND mtcdore reported -EUCLEAN with
only 12 bitflips on a page where we could correct up to 128 bits per
page (provided they are distributed equally on the 8 ECC steps)
Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
parent 7f852cc1
...@@ -1501,7 +1501,7 @@ static int omap_elm_correct_data(struct nand_chip *chip, u_char *data, ...@@ -1501,7 +1501,7 @@ static int omap_elm_correct_data(struct nand_chip *chip, u_char *data,
} }
/* Update number of correctable errors */ /* Update number of correctable errors */
stat += err_vec[i].error_count; stat = max_t(unsigned int, stat, err_vec[i].error_count);
/* Update page data with sector size */ /* Update page data with sector size */
data += ecc->size; data += ecc->size;
......
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