[PATCH 1/2] mxc_nand: fix err_limit and err_mask
Michael Grzeschik
m.grzeschik at pengutronix.de
Thu Jun 26 13:42:47 PDT 2014
This patch fixes the error detection limits for the used
eccsize of the 1, 4 and 8 bit eccmode.
Signed-off-by: Michael Grzeschik <m.grzeschik at pengutronix.de>
---
drivers/mtd/nand/mxc_nand.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/drivers/mtd/nand/mxc_nand.c b/drivers/mtd/nand/mxc_nand.c
index cb6c845..7fd495e 100644
--- a/drivers/mtd/nand/mxc_nand.c
+++ b/drivers/mtd/nand/mxc_nand.c
@@ -657,10 +657,14 @@ static int mxc_nand_correct_data_v2_v3(struct mtd_info *mtd, u_char *dat,
u32 ecc_stat, err;
int no_subpages = 1;
int ret = 0;
- u8 ecc_bit_mask, err_limit;
+ u8 ecc_bit_mask, err_limit = 0x1;
- ecc_bit_mask = (host->eccsize == 4) ? 0x7 : 0xf;
- err_limit = (host->eccsize == 4) ? 0x4 : 0x8;
+ ecc_bit_mask = 0xf;
+
+ if (host->eccsize == 4)
+ err_limit = 0x2;
+ else if (host->eccsize == 8)
+ err_limit = 0x4;
no_subpages = mtd->writesize >> 9;
--
2.0.0
More information about the linux-mtd
mailing list