[PATCH] mtd: nand: omap: fix omap_calculate_ecc_bch() for-loop error

Gupta, Pekon pekon at ti.com
Fri May 16 02:50:14 PDT 2014


Hi Ted,

>From: Ted Juan [mailto:ted.juan at gmail.com]
>
>The patch is mirror issue that the for-loop use the same variable.
>
>
>Signed-off-by: ted.juan <ted.juan at gmail.com>
>---
> drivers/mtd/nand/omap2.c |   10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
>diff --git a/drivers/mtd/nand/omap2.c b/drivers/mtd/nand/omap2.c
>index 1ff49b8..e21145a 100644
>--- a/drivers/mtd/nand/omap2.c
>+++ b/drivers/mtd/nand/omap2.c
>@@ -1162,7 +1162,7 @@ static int __maybe_unused
>omap_calculate_ecc_bch(struct mtd_info *mtd,
>        struct gpmc_nand_regs   *gpmc_regs = &info->reg;
>        u8 *ecc_code;
>        unsigned long nsectors, bch_val1, bch_val2, bch_val3, bch_val4;
>-       int i;
>+       int i, j;
>
>        nsectors = ((readl(info->reg.gpmc_ecc_config) >> 4) & 0x7) + 1;
>        for (i = 0; i < nsectors; i++) {
>@@ -1210,8 +1210,8 @@ static int __maybe_unused
>omap_calculate_ecc_bch(struct mtd_info *mtd,
>                case OMAP_ECC_BCH4_CODE_HW_DETECTION_SW:
>                        /* Add constant polynomial to remainder, so that
>                         * ECC of blank pages results in 0x0 on reading back */
>-                       for (i = 0; i < eccbytes; i++)
>-                               ecc_calc[i] ^= bch4_polynomial[i];
>+                       for (j = 0; j < eccbytes; j++)
>+                               ecc_calc[j] ^= bch4_polynomial[j];
>                        break;
>                case OMAP_ECC_BCH4_CODE_HW:
>                        /* Set  8th ECC byte as 0x0 for ROM compatibility */
>@@ -1220,8 +1220,8 @@ static int __maybe_unused
>omap_calculate_ecc_bch(struct mtd_info *mtd,
>                case OMAP_ECC_BCH8_CODE_HW_DETECTION_SW:
>                        /* Add constant polynomial to remainder, so that
>                         * ECC of blank pages results in 0x0 on reading back */
>-                       for (i = 0; i < eccbytes; i++)
>-                               ecc_calc[i] ^= bch8_polynomial[i];
>+                       for (j = 0; j < eccbytes; j++)
>+                               ecc_calc[j] ^= bch8_polynomial[j];
>                        break;
>                case OMAP_ECC_BCH8_CODE_HW:
>                        /* Set 14th ECC byte as 0x0 for ROM compatibility */
>--
>1.7.9.5

Thanks much for catching and fixing this..

Fixes:  2c9f2365d1e1d0e318b068f683f18c99515b80f8
mtd: nand: omap: ecc.calculate: merge omap3_calculate_ecc_bch4 in omap_calculate_ecc_bch

Fixes: 7bcd1dca1d587ad29f9825ba4414620440e8c8da
mtd: nand: omap: ecc.calculate: merge omap3_calculate_ecc_bch8 in omap_calculate_ecc_bch

Acked-by: Pekon Gupta <pekon at ti.com>


with regards, pekon


More information about the linux-mtd mailing list