cfi_cmdset_0002: do_write_buffer timeouts

Huang Shijie b32955 at freescale.com
Thu Apr 11 05:21:59 EDT 2013


于 2013年04月11日 17:00, Brian Norris 写道:
> [Sorry for the repeat email for some; Gmail switched me back to
> HTML-mode, so my previous email couldn't be delivered to the MTD list]
>
> Hi all,
>
> I'm having some trouble where I am getting timeouts in cfi_cmdset_0002.c:
>
> MTD do_write_buffer(): software timeout
>
> I'm using a 64Mbyte Spansion S29GL512 NOR flash:
>
> physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank.
> Manufacturer ID 0x000001 Chip ID 0x002301
>
> I can reproduce the timeout approximately 0.5% of the time on a simple
> reboot, mount UBI rootfs test. My system has CONFIG_HZ=250, and so the
> timeout comes out to just 1 jiffy. I have to increase this timeout to
> at least 3 ticks to avoid the timeouts. (I've been running reboot
> tests successfully for several days with the timeout as 3 jiffies.)
>
> So my question is: what is the "best" way to decide these timeouts?
> I'm inclined to just increase the timeout (and to use the proper
> msecs_to_jiffies() macro, as a cleanup). But according to the
> datasheets (which agree with the comments in the code), the max time
> should be less than a millisecond. So simply increasing the timeout
> may in fact just be masking some other bug.
>
> Huang,
>
> I noticed you recently sent a patch that adjusts the timeout print
> message in do_write_buffer(). Have you had problems with this code
> recently?
>
yes. I am fighting with the timeout out now. :(

My chip is M29W256GL7AN6E.
physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank. Manufacturer 
ID 0x000020 Chip ID 0x00227e


When I run the bonnie++/ubifs on the NOR. I will get a timeout 
occasionally. Sometime it can passes the bonie++/ubifs test,
while sometimes it can not.
The timeout occurs at some fixed address, such as 0x4e0000, 0x520000. I 
tried to extend the 1ms to 10ms for the buffer-write in do_write_buffer().
But the bug still occurs.



(I also tested other Nor, such as Spansion S29GL256P10 and Micron 
JS28F256M29EWL.
i do not meet the timeout issue with these two nor.)




thanks
Huang Shijie




More information about the linux-mtd mailing list