Re: Regression in suspend to ram in 2.6.31-rc kernels

Zdenek Kabelac
2009-09-11T21:14:06Z

2009/9/11 Pavel Machek <pavel@ucw.cz>:
>
>> Um..., sorry, I'm not sure what are you talking about. Of course, the
>> problem of this is that system freeze on suspend.
>>
>> Or are you asking my guess of the cause, or something?  If so, although
>> I'm not reading all emails on this thread, from Zdenek's backtrace, the
>> sequence would be
>>
>>     1) suspend mmc
>>     2) mmc generates card removed event
>>     3) prepare to invalidate blockdev
>>     4) sync fs on invalidating blockdev
>>     5) flush buffers on invalidating blockdev (partitions)
>>     6) delete blockdev (partitions)
>>
>> or like the above. And I can guess some possible issues/root-cause we
>> have to handle from it.
>>
>>     a) card removed event from mmc for suspend is right design?
>>     b) the card can be changed/removed before system was resumed, mmc
>>        can be detect/handle it properly?
>>     c) flushing buffers on _deleted_ device is right design?
>>
>> and I suspect there are more issues in detail and resume process though.
>
> I guess c) is main problem. If device is not there, how do you want to
> flush buffers on it?
>

Well I do not even understand why someone wants to sync something when
card is removed ??
And why suspend of mmc should generate card removal ??

IMHO steps 2..6 are only valid for the case I would 'remove'
unexpectedly card - but
if I suspend and resume my laptop and I keep the card inside - all
those step looks plain wrong.

Zdenek