[PATCH] don't scan bbt if CONFIG_NAND_BBT not set
张忠山
zzs213 at 126.com
Sun Nov 3 22:36:49 EST 2013
From: 张忠山 <zzs0213 at gmail.com>
when CONFIG_NAND_BBT not set, chip->scan_bbt is NULL and
NAND_SKIP_BBTSCAN not set. So barebox crashed, this is the message
......
nand: ONFI param page 0 valid
nand: ONFI flash detected
nand: NAND device: Manufacturer ID: 0x2c, Chip ID: 0xda (Micron MT29F2G08AAD), 256MiB, page size: 2048, OOB size: 64
prefetch abort
pc : [<00000004>] lr : [<23f0b8d0>]
sp : 23ffff08 ip : 7fffffff fp : 00000000
r10: 04000000 r9 : 00000000 r8 : 00000001
r7 : 23b637f8 r6 : 00000000 r5 : 23b63ad4 r4 : 23b638b4
r3 : 00000000 r2 : fffff200 r1 : 0000000a r0 : 23b63ad4
Flags: nZCv IRQs off FIQs off Mode SVC_32
may be the best solution is set NAND_SKIP_BBTSCAN somewhere when
CONFIG_NAND_BBT not selected, but I don't known where is the best
position.
Signed-off-by: 张忠山 <zzs0213 at gmail.com>
---
drivers/mtd/nand/nand_base.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
index d249565..1dbd5bf 100644
--- a/drivers/mtd/nand/nand_base.c
+++ b/drivers/mtd/nand/nand_base.c
@@ -3597,8 +3597,12 @@ int nand_scan_tail(struct mtd_info *mtd)
if (chip->options & NAND_SKIP_BBTSCAN)
return 0;
+#ifdef CONFIG_NAND_BBT
/* Build bad block table */
return chip->scan_bbt(mtd);
+#else
+ return 0;
+#endif
}
EXPORT_SYMBOL(nand_scan_tail);
--
1.7.9.5
More information about the barebox
mailing list