blob: 8a46ff9f1ee8e29e96c885bc3dfa8615a30f1046 [file] [log] [blame]
From bb38eefb6858ce16b34716145b9597a5680aa54c Mon Sep 17 00:00:00 2001
From: Pekon Gupta <pekon@ti.com>
Date: Mon, 17 Feb 2014 13:11:25 +0530
Subject: mtd: nand: omap: fix ecclayout->oobfree->length
From: Pekon Gupta <pekon@ti.com>
commit bb38eefb6858ce16b34716145b9597a5680aa54c upstream.
This patch excludes reserved-marker byte-position from oobfree->length
calculation. Thus all bytes from oobfree->offset till end of OOB are free.
Signed-off-by: Pekon Gupta <pekon@ti.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/mtd/nand/omap2.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
--- a/drivers/mtd/nand/omap2.c
+++ b/drivers/mtd/nand/omap2.c
@@ -2000,9 +2000,8 @@ static int omap_nand_probe(struct platfo
goto return_error;
}
- /* populate remaining ECC layout data */
- ecclayout->oobfree->length = mtd->oobsize - (BADBLOCK_MARKER_LENGTH +
- ecclayout->eccbytes);
+ /* all OOB bytes from oobfree->offset till end off OOB are free */
+ ecclayout->oobfree->length = mtd->oobsize - ecclayout->oobfree->offset;
/* check if NAND device's OOB is enough to store ECC signatures */
if (mtd->oobsize < (ecclayout->eccbytes + BADBLOCK_MARKER_LENGTH)) {
pr_err("not enough OOB bytes required = %d, available=%d\n",