summaryrefslogtreecommitdiffstats
path: root/drivers/mtd
diff options
context:
space:
mode:
authorDavid Anders <dave123_aml@yahoo.com>2006-10-19 19:33:19 +0300
committerDavid Woodhouse <dwmw2@infradead.org>2006-10-21 16:43:53 +0100
commita86aaa6ddf32b0401e64e74174042866e0fb3e20 (patch)
treee1f11950cce73d371a189fcf2687b35923d40e3e /drivers/mtd
parentd29ebdbee4c196adddf9f412e6ea1f211656744f (diff)
downloadblackbird-op-linux-a86aaa6ddf32b0401e64e74174042866e0fb3e20.tar.gz
blackbird-op-linux-a86aaa6ddf32b0401e64e74174042866e0fb3e20.zip
[MTD] NOR: leave Intel chips in read-array mode on suspend
During some testing with several samsung s3c24xx based devices it was discovered that often the cfi_cmdset_0001.c would not leave the chip in read-array mode on suspend. this is an issue if the same flash chip is used for the bootloader that needs to be read on resume. Signed-off-by: David Anders <danders@amltd.com> Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Diffstat (limited to 'drivers/mtd')
-rw-r--r--drivers/mtd/chips/cfi_cmdset_0001.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/mtd/chips/cfi_cmdset_0001.c b/drivers/mtd/chips/cfi_cmdset_0001.c
index 7ea49a0d5ec3..e24973636e61 100644
--- a/drivers/mtd/chips/cfi_cmdset_0001.c
+++ b/drivers/mtd/chips/cfi_cmdset_0001.c
@@ -2224,6 +2224,8 @@ static int cfi_intelext_suspend(struct mtd_info *mtd)
case FL_CFI_QUERY:
case FL_JEDEC_QUERY:
if (chip->oldstate == FL_READY) {
+ /* place the chip in a known state before suspend */
+ map_write(map, CMD(0xFF), cfi->chips[i].start);
chip->oldstate = chip->state;
chip->state = FL_PM_SUSPENDED;
/* No need to wake_up() on this state change -
OpenPOWER on IntegriCloud