[PATCH] mtd: nand: omap: ecc.correct: omap_elm_correct_data: return number of bit-flips detected in erased-page
Pekon Gupta
pekon at ti.com
Thu Mar 20 09:19:58 EDT 2014
fixes: commit 62116e5171e00f85a8d53f76e45b84423c89ff34
mtd: nand: omap2: Support for hardware BCH error correction.
In current omap_elm_correct_data(), an erased-page is also identified based on
'bitflip_count <= ecc.strength' per ecc-step (data+oob)
But bitflip_count is ignored, unless errors are detected in other ecc.steps.
------------------
if (bitflip_count) {
/*
* number of 0-bits within ECC limits
* So this may be an erased-page
*/
stat += bitflip_count;
}
[...]
/* Check if any error reported */
if (!is_error_reported)
return 0;
------------------
This patch returns bitflip_count found in erased-page to chip->ecc.read_page()
Reported-by: Brian Norris <computersforpeace at gmail.com>
Signed-off-by: Pekon Gupta <pekon at ti.com>
---
drivers/mtd/nand/omap2.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/mtd/nand/omap2.c b/drivers/mtd/nand/omap2.c
index 6f9b339..d161c9b 100644
--- a/drivers/mtd/nand/omap2.c
+++ b/drivers/mtd/nand/omap2.c
@@ -1383,7 +1383,7 @@ static int omap_elm_correct_data(struct mtd_info *mtd, u_char *data,
/* Check if any error reported */
if (!is_error_reported)
- return 0;
+ return stat;
/* Decode BCH error using ELM module */
elm_decode_bch_error_page(info->elm_dev, ecc_vec, err_vec);
--
1.8.5.1.163.gd7aced9
More information about the linux-mtd
mailing list