[Qi] bad magic when booting from NAND
Dmitry Kurochkin
dmitry.kurochkin at gmail.com
Tue May 5 09:35:37 CEST 2009
Hi Nelson, Werner.
Can you please review and apply the patch?
Regards,
Dmitry
On Fri, Apr 10, 2009 at 12:14 AM, Dmitry Kurochkin
<dmitry.kurochkin at gmail.com> wrote:
> Hello.
>
> I have found the problem. The error was because we check if the
> current block is bad or the next one is bad. And skip the current
> block even if only the next one is bad. This way we skip good block
> before a bad one.
>
> Attached is a patch to fix it. Besides I have removed 4 bad block
> count limit. Instead I check if we read till the end of nand. Or at
> least this is what this code supposed to do:
>
> if (start_block512 >> 2 > BAD_BLOCK_OFFSET)
> /* end of NAND */
> return -1;
>
> I am not sure this is the best and/or correct way to do the stop check.
>
> A similar check for bad block ahead the current one was added to
> u-boot in commit 4ec60973cf2e028de905f6ea1f81ef99ca60d834 by Michael:
>
> Change the skip bad block. Avoid false positives by only checking
> the beginning of a block and check the second page
>
> Qi code does the same thing. But it seems to be wrong at least in my case.
>
> Regards,
> Dmitry
>
More information about the openmoko-kernel
mailing list