
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