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/