cfi_cmdset_0002: do_write_buffer timeouts
Brian Norris
computersforpeace at gmail.com
Thu Apr 11 05:00:30 EDT 2013
[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?
Any thoughts from any interested (or uninterested) party would be useful.
Thanks,
Brian
More information about the linux-mtd
mailing list