Bug: Flash writing & suspending

Todd Poynor tpoynor at mvista.com
Wed Oct 5 12:47:08 EDT 2005


Holger Schurig wrote:

> I suspect that maybe MTD is writing data into the StrataFlash. While this 
> erasing & writings happens, it probably polls the built-in state-machine 
> status of the chips. Probably during such an operation the suspend-to-memory 
> takes place. The hardware switches off the power to the StrataFlash, but MTD 
> doesn't know about this.
> 
> At resume time, the StataFlash get's power and resets to some initial state. 
> Linux thaws the processes, among them the JFFS2/MTD thread. Which continues 
> to poll the StrataFlash, but because it has been resetted in the meantime ...

Right, the mtd state machine goes out of sync with the actual chip state 
when the system sleep mode power cycles the chips.

I submitted a patch to rmk's ARM patch system that adds flash chips as 
platform devices to the Lubbock (PXA25x eval board) and Mainstone 
(PXA27x eval board) files.  If that's accepted, I'll send a common 
PXA2xx platform driver for mtd that adds the PM suspend/resume callbacks 
as discussed here recently.

In the meantime, get the struct mtd_info's ->resume routine called 
somehow at resume time.

-- 
Todd




More information about the linux-mtd mailing list