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

Brian Norris computersforpeace at gmail.com
Wed May 28 02:09:33 PDT 2014


Hi Ted,

Sorry, this patch does not apply to l2-mtd.git. I think it conflicts
with some recent changes from Pekon. Please rebase and resend.

On Fri, May 23, 2014 at 11:24:34AM +0800, ted.juan wrote:
> From: "ted.juan" <ted_juan at weintek.com>

Can you format your name properly, without the dot, for proper
authorship attribution?

> 
>  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
> 
> CC: <stable at vger.kernel.org> # 3.13.x+
> Signed-off-by: ted.juan <ted.juan at gmail.com>

Same here.

> Acked-by: Pekon Gupta <pekon at ti.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 */

Thanks,
Brian



More information about the linux-mtd mailing list