Commit 2913aae5 authored by Ted Juan's avatar Ted Juan Committed by Brian Norris

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

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

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

Cc: <stable@vger.kernel.org> # 3.13.x+
Signed-off-by: default avatarTed Juan <ted.juan@gmail.com>
Acked-by: default avatarPekon Gupta <pekon@ti.com>
Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
parent ab7f6fce
...@@ -1180,7 +1180,7 @@ static int __maybe_unused omap_calculate_ecc_bch(struct mtd_info *mtd, ...@@ -1180,7 +1180,7 @@ static int __maybe_unused omap_calculate_ecc_bch(struct mtd_info *mtd,
u8 *ecc_code; u8 *ecc_code;
unsigned long nsectors, bch_val1, bch_val2, bch_val3, bch_val4; unsigned long nsectors, bch_val1, bch_val2, bch_val3, bch_val4;
u32 val; u32 val;
int i; int i, j;
nsectors = ((readl(info->reg.gpmc_ecc_config) >> 4) & 0x7) + 1; nsectors = ((readl(info->reg.gpmc_ecc_config) >> 4) & 0x7) + 1;
for (i = 0; i < nsectors; i++) { for (i = 0; i < nsectors; i++) {
...@@ -1263,8 +1263,8 @@ static int __maybe_unused omap_calculate_ecc_bch(struct mtd_info *mtd, ...@@ -1263,8 +1263,8 @@ static int __maybe_unused omap_calculate_ecc_bch(struct mtd_info *mtd,
case OMAP_ECC_BCH4_CODE_HW_DETECTION_SW: case OMAP_ECC_BCH4_CODE_HW_DETECTION_SW:
/* Add constant polynomial to remainder, so that /* Add constant polynomial to remainder, so that
* ECC of blank pages results in 0x0 on reading back */ * ECC of blank pages results in 0x0 on reading back */
for (i = 0; i < eccbytes; i++) for (j = 0; j < eccbytes; j++)
ecc_calc[i] ^= bch4_polynomial[i]; ecc_calc[j] ^= bch4_polynomial[j];
break; break;
case OMAP_ECC_BCH4_CODE_HW: case OMAP_ECC_BCH4_CODE_HW:
/* Set 8th ECC byte as 0x0 for ROM compatibility */ /* Set 8th ECC byte as 0x0 for ROM compatibility */
...@@ -1273,8 +1273,8 @@ static int __maybe_unused omap_calculate_ecc_bch(struct mtd_info *mtd, ...@@ -1273,8 +1273,8 @@ static int __maybe_unused omap_calculate_ecc_bch(struct mtd_info *mtd,
case OMAP_ECC_BCH8_CODE_HW_DETECTION_SW: case OMAP_ECC_BCH8_CODE_HW_DETECTION_SW:
/* Add constant polynomial to remainder, so that /* Add constant polynomial to remainder, so that
* ECC of blank pages results in 0x0 on reading back */ * ECC of blank pages results in 0x0 on reading back */
for (i = 0; i < eccbytes; i++) for (j = 0; j < eccbytes; j++)
ecc_calc[i] ^= bch8_polynomial[i]; ecc_calc[j] ^= bch8_polynomial[j];
break; break;
case OMAP_ECC_BCH8_CODE_HW: case OMAP_ECC_BCH8_CODE_HW:
/* Set 14th ECC byte as 0x0 for ROM compatibility */ /* Set 14th ECC byte as 0x0 for ROM compatibility */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment