mtd: cfi_cmdset_0002: fix do_write_buffer() timeout error
authorBean Huo <beanhuo@outlook.com>
Wed, 16 Jul 2014 16:05:26 +0000 (09:05 -0700)
committerBrian Norris <computersforpeace@gmail.com>
Wed, 16 Jul 2014 18:03:38 +0000 (11:03 -0700)
commit6534e6809e6c9d48114b537afe03bee3fd33bf01
tree52946f6468bcdc0b3b6e408ee3dba411db016461
parentd68a5c3d2db408a83e69f12b57b8e19c086d1aee
mtd: cfi_cmdset_0002: fix do_write_buffer() timeout error

For some NOR flashes, the size of the buffer program has been increased
from 256 bytes to 512 bytes, and so 2ms maximum timeout can may not be
sufficient for all different vendor's NOR flash. There is maximum
timeout information in the CFI area, so we instead of picking a fixed
value, we can calculate this according to the standard CFI parameters
parsed at probe time. If we haven't probed this information, or it is
smaller than 2000us, then specify a minimum value 2000us.

Tested with Micron JS28F512M29EWx and Micron MT28EW512ABA flash devices.

Signed-off-by: Bean Huo <beanhuo@outlook.com>
[Brian: fix up comments, use 'max()']
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
drivers/mtd/chips/cfi_cmdset_0002.c