Commit e0b58d0 ("mtd: nand: add ->badblockbits for minimum number
of set bits in bad block byte") by Maxim Levitsky added
badblockbits to nand_chip to specify minimum number of set bits
in bad block byte. The patch initialized badblockbits to 8 in
nand_base.c, but later the initialization line got removed by commit
c7b28e2("mtd: nand: refactor BB marker detection"). After this all
NAND drivers with NAND_SKIP_BBTSCAN are forced to initialize it to 8.
Otherwise bad block identification will fail.
As a result, mounting of empty jffs2 file system on omap3evm
(having bad blocks) failed giving the following error message -
"mount: mounting /dev/mtdblock4 on /tmp failed: Input/output error"
This patch solves the above issue for omap by initialising
badblockbits. We are working further on this to find a generic fix
to the problem in nand_base.c.
Signed-off-by: Saxena, Parth <[email protected]>
Signed-off-by: Basheer, Mansoor Ahamed <[email protected]>
---
drivers/mtd/nand/omap2.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/drivers/mtd/nand/omap2.c b/drivers/mtd/nand/omap2.c
index 454f90c..350c77f 100644
--- a/drivers/mtd/nand/omap2.c
+++ b/drivers/mtd/nand/omap2.c
@@ -1005,6 +1005,8 @@ static int __devinit omap_nand_probe(struct
platform_device *pdev)
info->nand.options = pdata->devsize;
info->nand.options |= NAND_SKIP_BBTSCAN;
+ info->nand.badblockbits = 8;
+
/* NAND write protect off */
gpmc_cs_configure(info->gpmc_cs, GPMC_CONFIG_WP, 0);
--
1.6.2.4
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html