[PATCH] ARM: i.MX6: Fix bad block marker in imx6-bbu-nand handler

Sascha Hauer s.hauer at pengutronix.de
Wed Jan 28 01:14:25 PST 2015


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 at phytec.de>
> ---
>  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 |



More information about the barebox mailing list