[iPAQ] Sleep/resume problems, etc.

David Woodhouse dwmw2 at infradead.org
Tue May 8 03:20:52 EDT 2001


dbutter at wireless.net said:
>  The other more serious problem (which seems to only be related to
> resuming  from deep sleep) is that the entire OS seems to become
> unresponsive  (processes will not run) after a resume and I'll see
> these messages on the  console:

> waiting for chip to be ready timed out in read. WSM status = e0021985
> Error reading node from 0x0030fa84: -5

The power cycle has reset the flash chip into read mode. The driver still 
thinks it's in status mode.

The chip driver's resume function needs to make sure the chip is in a known 
state, rather than assuming it'll still be in the same state it was before 
the sleep.

I'm sure I'd done this before. 

diff -u -r1.72 cfi_cmdset_0001.c
--- cfi_cmdset_0001.c	2001/03/26 13:51:15	1.72
+++ cfi_cmdset_0001.c	2001/05/08 07:19:12
@@ -1582,7 +1582,9 @@
 		spin_lock_bh(chip->mutex);
 		
 		if (chip->state == FL_PM_SUSPENDED) {
-			chip->state = chip->oldstate;
+			/* We need to force it back to a known state. */
+			cfi_write(map, CMD(0xff), cmd_addr);
+			chip->state = FL_READY;
 			wake_up(&chip->wq);
 		}
 


--
dwmw2






More information about the linux-mtd mailing list