[PATCH 2/2] mtd: sh_flctl: Only copy OOB data if it is required
Bastian Hecht
hechtb at googlemail.com
Thu Jul 5 06:41:02 EDT 2012
Check the new oob_required flag and only copy the OOB data to the internal
buffer if needed.
Signed-off-by: Bastian Hecht <hechtb at gmail.com>
---
I did this only for reading, as for writing the current code would write random data to the non-ECC OOB area when oob_required is false, so I preferred taking the data from the nand_base layer.
drivers/mtd/nand/sh_flctl.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/mtd/nand/sh_flctl.c b/drivers/mtd/nand/sh_flctl.c
index e4f31ef..0b798fb 100644
--- a/drivers/mtd/nand/sh_flctl.c
+++ b/drivers/mtd/nand/sh_flctl.c
@@ -398,7 +398,8 @@ static int flctl_read_page_hwecc(struct mtd_info *mtd, struct nand_chip *chip,
uint8_t *buf, int oob_required, int page)
{
chip->read_buf(mtd, buf, mtd->writesize);
- chip->read_buf(mtd, chip->oob_poi, mtd->oobsize);
+ if (oob_required)
+ chip->read_buf(mtd, chip->oob_poi, mtd->oobsize);
return 0;
}
--
1.7.9.5
More information about the linux-mtd
mailing list