On Tue, Jan 27, 2015 at 02:14:59PM +0100, Stefan Christ wrote: > The i.MX6 NAND update handler sets all bytes of OOB data to 0x00 in pages that > contain the FCB structure currently. So the first and second byte which is > used as the manufacturers bad block marker is in the 'bad block' state. A scan > for factory bad blocks will detect these blocks as bad while they are still ok. > > The barebox issues a scan for factory bad blocks to rebuild the bad block table > if the NAND is brand new or the last four blocks of flash are erased. > > To fix this problem set the first two bytes of OOB data to 0xFF explicitly. > > There is a potential chance that the bbu handler will mark a real bad block as > factory good. That's not a problem for the ROM Loader, because the FCB is > protected by a checksum and the hamming_13_8 encoding. Additionally the current > implementation of the bbu handler does not check the bad block table or the > factory bad block marker before writing the FCB at the first page of the first > and second block. > > Signed-off-by: Stefan Christ <s.christ@xxxxxxxxx> > --- > arch/arm/mach-imx/imx6-bbu-nand.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) Applied, thanks Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox