mtd: fsmc: fixed data abort inside change_bit()
authorArmando Visconti <armando.visconti@st.com>
Wed, 7 Mar 2012 11:30:53 +0000 (17:00 +0530)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Mon, 26 Mar 2012 23:47:55 +0000 (00:47 +0100)
Since change_bit() requires a (unsigned int *) as second arg,
the correct definition of err_idx[] array declared as
local variable of fsmc_correct_data() is the following:

u32 err_idx[8];

Signed-off-by: Armando Visconti <armando.visconti@st.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
drivers/mtd/nand/fsmc_nand.c

index 4dda9bb383340c25f8ef28f25d8033aa4f1ea5b8..cfe15a6f29d06fc935e6c5fbbc438894225517df 100644 (file)
@@ -604,7 +604,7 @@ static int fsmc_correct_data(struct mtd_info *mtd, uint8_t *dat,
        struct nand_chip *chip = mtd->priv;
        struct fsmc_regs *regs = host->regs_va;
        unsigned int bank = host->bank;
-       uint16_t err_idx[8];
+       uint32_t err_idx[8];
        uint64_t ecc_data[2];
        uint32_t num_err, i;