[BUG] pxa3xx: wait time out when scanning for bb

Ezequiel Garcia ezequiel at vanguardiasur.com.ar
Sat Dec 9 15:22:48 PST 2017


On 28 November 2017 at 06:12, Sean Nyekjær <sean.nyekjaer at prevas.dk> wrote:
> Hi Ezequiel
>
> I'm currently in the process of doing bringup on a custom armada 38x board.
> During the firsts boots of the Linux kernel we saw that the NAND driver
> throws a lot of timeout messages.
>
> Like this:
> [ 28.321054] pxa3xx-nand f10d0000.flash: Wait time out!!!
> [ 28.521054] pxa3xx-nand f10d0000.flash: Wait time out!!!
> [ 28.721054] pxa3xx-nand f10d0000.flash: Wait time out!!!
>
> That lead me to investigate the issue and found this thread (quite old):
> https://www.spinics.net/lists/arm-kernel/msg488581.html
>
> In the thread some is describing a possible race condition when the NAND
> framework is scanning for bad blocks.
> 1. I tried enabling PREEMPT with no success.
> 2. I tried with commenting out the bad block scanning function, with success
> but not very useful :-)
> 3. I enabled the BBT function in uboot and the kernel, and that apparently
> fixes the problem.

Which means you were not using the BBT. Any idea why?
Storing bad-block information in the NAND block itself,
is a bad idea. I suggest you use BBT.

To be frank, I can't recall if the driver supported OOB read/writes
in all modes. It should, judging from the code, but maybe
there is a bug somewhere.

In any case, most of the OOB is used for ECC. There are
some nice notes about it here [1]
-- 
Ezequiel García, VanguardiaSur
www.vanguardiasur.com.ar



More information about the linux-mtd mailing list