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