summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPekon Gupta <pekon@ti.com>2014-02-17 13:11:25 +0530
committerEvan Wilson <evan@oliodevices.com>2014-11-29 14:51:43 -0800
commit8ba6af10b82e78000b17e7d5963bb3103c000dc3 (patch)
treef039ed107e3e003d587c160456212d758103db9b
parent4df3be9685dfaa1e78d89376199d04a8cee36cf9 (diff)
downloadolio-linux-3.10-8ba6af10b82e78000b17e7d5963bb3103c000dc3.tar.xz
olio-linux-3.10-8ba6af10b82e78000b17e7d5963bb3103c000dc3.zip
mtd: nand: omap: fix ecclayout->oobfree->length
This patch excludes reserved-marker byte-position from oobfree->length calculation. Thus all bytes from oobfree->offset till end of OOB are free. CC: <stable@vger.kernel.org> # 3.13.x+ Signed-off-by: Pekon Gupta <pekon@ti.com> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
-rw-r--r--drivers/mtd/nand/omap2.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/mtd/nand/omap2.c b/drivers/mtd/nand/omap2.c
index 58685ab6d86..bf642ceef68 100644
--- a/drivers/mtd/nand/omap2.c
+++ b/drivers/mtd/nand/omap2.c
@@ -1994,9 +1994,8 @@ static int omap_nand_probe(struct platform_device *pdev)
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",