aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mtd/nand/nand_base.c
diff options
context:
space:
mode:
authorVitaly Wool <vwool@ru.mvista.com>2006-06-07 01:34:37 -0400
committerDavid Woodhouse <dwmw2@infradead.org>2006-06-20 15:31:23 -0400
commit7e4178f90eec862affc97469118d5008bd1b5bda (patch)
treeb8b88499e53f5f306754aa26e879e3915e4e7e2c /drivers/mtd/nand/nand_base.c
parentb6d5ee00e397b20dc88f7ffaa6f7651b71996a5c (diff)
[PATCH] NAND: fix remaining OOB length calculation
In nand_read_page_syndrome/nand_write_page_syndrome the calculation of the remaining oob length which is not used by the prepad/ecc/postpad areas is wrong. Signed-off-by: Vitaly Wool <vwool@ru.mvista.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'drivers/mtd/nand/nand_base.c')
-rw-r--r--drivers/mtd/nand/nand_base.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
index 77406fcf53b3..e74678e928cf 100644
--- a/drivers/mtd/nand/nand_base.c
+++ b/drivers/mtd/nand/nand_base.c
@@ -883,7 +883,7 @@ static int nand_read_page_syndrome(struct mtd_info *mtd, struct nand_chip *chip,
883 } 883 }
884 884
885 /* Calculate remaining oob bytes */ 885 /* Calculate remaining oob bytes */
886 i = oob - chip->oob_poi; 886 i = mtd->oobsize - (oob - chip->oob_poi);
887 if (i) 887 if (i)
888 chip->read_buf(mtd, oob, i); 888 chip->read_buf(mtd, oob, i);
889 889
@@ -1334,7 +1334,7 @@ static void nand_write_page_syndrome(struct mtd_info *mtd,
1334 } 1334 }
1335 1335
1336 /* Calculate remaining oob bytes */ 1336 /* Calculate remaining oob bytes */
1337 i = oob - chip->oob_poi; 1337 i = mtd->oobsize - (oob - chip->oob_poi);
1338 if (i) 1338 if (i)
1339 chip->write_buf(mtd, oob, i); 1339 chip->write_buf(mtd, oob, i);
1340} 1340}