[PATCH] [MTD] [CHIPS] cfi_cmdset_0001.c: put chip into read-array mode after unlocking

Mike Frysinger
2011-04-16T03:13:15Z

From: Graf Yang <graf.yang@analog.com>

We should try and keep the flash in the default read-array mode when
possible so that we are much more likely to properly recover from
unexpected reboot events (such as watchdog expiring). If we only unlock
the flash, it can stay in that state for a while, so put it into
read-array mode after successful unlocking.

URL: http://blackfin.uclinux.org/gf/tracker/4887
Signed-off-by: Graf Yang <graf.yang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
---
drivers/mtd/chips/cfi_cmdset_0001.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/drivers/mtd/chips/cfi_cmdset_0001.c b/drivers/mtd/chips/cfi_cmdset_0001.c
index 4aaa88f..abe2571 100644
--- a/drivers/mtd/chips/cfi_cmdset_0001.c
+++ b/drivers/mtd/chips/cfi_cmdset_0001.c
@@ -2089,6 +2089,11 @@ static int __xipram do_xxlock_oneblock(struct map_info *map, struct flchip *chip
goto out;
}

+ if (chip->state == FL_STATUS) {
+ /* it goes ok, put chip into array mode */
+ map_write(map, CMD(0xff), adr);
+ chip->state = FL_READY;
+ }
xip_enable(map, chip, adr);
out: put_chip(map, chip, adr);
mutex_unlock(&chip->mutex);
--
1.7.5.rc1