Suspend problem on 2.6.x
Todd Poynor
tpoynor at mvista.com
Fri Oct 1 14:29:56 EDT 2004
Ben Dooks wrote:
> mtdblockd when running on 2.6 is either ignorning or
> not dealing with the suspend-to-memory request, and therefore
> the system is not shutting down when asked to.
>
> bash-2.05a# echo mem > /sys/power/state
> Stopping tasks: ==
> stopping tasks failed (1 tasks remaining)
> Restarting tasks...<6> Strange, mtdblockd not stopped
> done
> bash-2.05a#
>
> I have worked round this for the moment by
> adding PF_NOFREEZE to the current->flags at the start of
> mtd_bldevs.c:mtd_blktrans_thread()
Right, this same fix was committed to infradead cvs a few weeks ago. It
is the freeze execution signal that is being ignored (the thread does
not enable or poll for such signals). Since mtdblockd/ftld might need
to perform I/O to save state during a suspend, and since these probably
doesn't need to access resources that are impaired during the state save
phase, exempting these from execution freeze via PF_NOFREEZE seems the
right solution.
--
Todd
More information about the linux-mtd
mailing list