Re: MMC: fix hang if card was removed during suspend and unsafe resume was enabled

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Eric Miao
Date: Tuesday, April 13, 2010 - 2:09 pm

On Feb 6, 4:00 am, Maxim Levitsky <maximlevit...@gmail.com> wrote:

It looks to me bdi is waiting for writeback task to finish, yet the
processes
are frozen, so this never happens, and hang.

And I can confirm this always happens. Without MMC_UNSAFE_RESUME,
this happens when suspending where the mmc core tries to remove the
card.
With MMC_UNSAFE_RESUME, this happens when resume if the card removed
during suspend.

Though the root cause looks to me lies in the del_gendisk() not safe
to be
called within suspend context, and a clean fix might be somewhere in
the
generic disk layer. Skip removing card during suspend, IMHO, might not
be
a clean enough fix to this problem.

I might be able to avoid this issue by removing the card within user
space
pm scripts, but that's a shame if this cannot be cleanly fixed within
kernel.
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: MMC: fix hang if card was removed during suspend and u ..., Eric Miao, (Tue Apr 13, 2:09 pm)