[U-Boot] nand_spl/nand_boot.c: why can't we do anything on ECC error?

Scott Wood scottwood at freescale.com
Wed Aug 13 19:18:33 CEST 2008


On Wed, Aug 13, 2008 at 07:03:25PM +0200, Jens Gehrlein wrote:
> Hi,
> in nand_spl/nand_boot.c in function nand_read_page() one can read the 
> comment in the case of ECC errors:
> "No chance to do something with the possible error message from 
> correct_data(). We just hope that all possible errors are corrected by 
> this routine."
> 
> Why can't we do anything?

We can't fit printf() into the 4K NAND loader.  We could fit puts(),
though (it's included on 8313erdb's NAND loader).

> If an uncorrectable error has been recognized, we could at least
> execute an endless loop or issue a reset. Depending on the bit errors
> and their location in the U-Boot image, U-Boot may though boot and a
> runtime error could probably appear never or later or only under
> special circumtances. Because this is a risk (the image is corrupted),
> what do you think of inserting some blocking functionality?

I'm open to halting if the image is corrupt (it's what nand_boot_fsl_elbc
does), though I'm concerned about boards bricking when they might survive
well enough to reflash.

We should definitely try to get some sort of message out.

-Scott



More information about the U-Boot mailing list