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

Ezequiel Garcia ezequiel at vanguardiasur.com.ar
Sat Dec 9 15:24:20 PST 2017


On 9 December 2017 at 20:22, Ezequiel Garcia
<ezequiel at vanguardiasur.com.ar> wrote:
> 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]

like I was saying...

some nice notes about it here [1].

Be aware that you need your bootloader and kernel to have
matching information about the BBT.

So, you say that enabling the BBT fixes the issue, so: fixed? :-)

[1] Documentation/mtd/nand/pxa3xx-nand.txt
-- 
Ezequiel García, VanguardiaSur
www.vanguardiasur.com.ar



More information about the linux-mtd mailing list