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.grzesc...@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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to