Bug: Flash writing & suspending
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.
More information about the linux-mtd