summary refs log tree commit diff
path: root/drivers/mtd/chips
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/chips
parentd29ebdbee4c196adddf9f412e6ea1f211656744f (diff)
downloadlinux-a86aaa6ddf32b0401e64e74174042866e0fb3e20.tar.gz
[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/chips')
-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 -