From: 张忠山 <zzs0213@xxxxxxxxx> 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@xxxxxxxxx> --- 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 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox