diff mbox

mtd: nand: omap2: Fix oobfree offset

Message ID 1374225202-26518-1-git-send-email-t.gamez@phytec.de
State New, archived
Headers show

Commit Message

Teresa Gámez July 19, 2013, 9:13 a.m. UTC
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(-)

Comments

pekon gupta July 19, 2013, 8:54 p.m. UTC | #1
> 
> 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 mbox

Patch

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;