On Wed, 2016-10-26 at 17:18 -0700, Stefan Agner wrote: > From: Stefan Agner <stefan.ag...@toradex.com> > > Commit 35c204d8a9d0 ("nand: reinstate lazy bad block scanning") > introduced lazy BBT scanning. However, some controller do parts > of the initialization (mxs_nand.c) during scan_bbt, hence for > those controllers the BBT must be scanned at initialization time. > > In most situation the U-Boot environment gets read first, and > the U-Boot environment code checks for bad blocks first. Checking > for bad blocks will ask for scan_bbt before reading the first page, > hence in most situation the issue does not appear in practice. > However, when there is no environment configured, other code might > access NAND first which does not explicitly checks for bad blocks, > in those cases ECC reads will fail always. > > Cc: Rostislav Lisovy <lis...@gmail.com> > Signed-off-by: Stefan Agner <stefan.ag...@toradex.com> > --- > Not sure if this solution is a nice solution as we diverge more > and more from the kernel...
Why does this init code need to run at the end of nand_scan_tail()? If it can run in between nand_scan_ident() and nand_scan_tail(), then use CONFIG_SYS_NAND_SELF_INIT to allow the driver to run its init at that time. -Scott _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot