mtd: CFI cmdset_0002: enable erase-suspend-program
authorJoakim Tjernlund <joakim.tjernlund@transmode.se>
Thu, 19 Nov 2009 11:01:58 +0000 (12:01 +0100)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Mon, 30 Nov 2009 09:58:53 +0000 (09:58 +0000)
commit2695eab964efaa382168e0351705967bd9deb7ea
tree41c2711f7849f6a0be9ce388fad33fb4ddb62ffa
parentc1317f7163d287805b8e12af12d04a2a6ead865c
mtd: CFI cmdset_0002: enable erase-suspend-program

Erase-suspend for writing is required to avoid blocking applications
that wish to write some data (to a NOR block other than the one being
erased). Particularly, it solves some huge delays that an application
(which writes to a UBIFS) will experience if UBI attaches to empty NOR
flash. In this case the UBI background thread will erase a lot of blocks
and the application can be blocked for minutes because of the "MTD/CFI
chip lock".

This feature has been disabled for years. Maybe this was because the old
code turned it on for erase-suspend read-only chips also
(cfip->EraseSuspend & 0x1). This is wrong and corrected now.

This patch was tweaked by Norbert van Bolhuis.

Signed-off-by: Norbert van Bolhuis <nvbolhuis@aimvalley.nl>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
drivers/mtd/chips/cfi_cmdset_0002.c