Message ID | 1374225202-26518-1-git-send-email-t.gamez@phytec.de |
---|---|
State | New, archived |
Headers | show |
> > The calculation of the oobfree[0].offset is wrong when using BCH8 > and elm. > > The layout->eccbytes is already steps*info->nand.ecc.bytes. The second > multiplication with steps is too much and will create a value > larger than the oob area. > > Fixed the calculation. > This is already fixed in http://lists.infradead.org/pipermail/linux-mtd/2013-July/047534.html Can you please pull-in the whole series, and test it ? http://lists.infradead.org/pipermail/linux-mtd/2013-July/047530.html with regards, pekon
diff --git a/drivers/mtd/nand/omap2.c b/drivers/mtd/nand/omap2.c index 81b80af..922706b 100644 --- a/drivers/mtd/nand/omap2.c +++ b/drivers/mtd/nand/omap2.c @@ -1790,7 +1790,7 @@ static int omap3_init_bch_tail(struct mtd_info *mtd) layout->eccpos[i] = offset + i; if (info->is_elm_used && (info->nand.ecc.bytes == BCH8_SIZE)) - layout->oobfree[0].offset = 2 + layout->eccbytes * steps; + layout->oobfree[0].offset = 2 + layout->eccbytes; else layout->oobfree[0].offset = 2;
The calculation of the oobfree[0].offset is wrong when using BCH8 and elm. The layout->eccbytes is already steps*info->nand.ecc.bytes. The second multiplication with steps is too much and will create a value larger than the oob area. Fixed the calculation. Signed-off-by: Teresa Gámez <t.gamez@phytec.de> --- drivers/mtd/nand/omap2.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)