Re: [Bug 10030] Suspend doesn't work when SD card is inserted

Rafael J. Wysocki
2008-02-23T01:31:56Z

On Friday, 22 of February 2008, Alan Stern wrote:
> On Thu, 21 Feb 2008, Rafael J. Wysocki wrote:
>
> > BTW, below is a simplified version of the patch, without the mutex protecting
> > suspending_task. I'd like to push it upstream if it looks good.
>
> It does look good. Go ahead and push.
>
> Acked-by: Alan Stern <stern@rowland.harvard.edu>
>
> > Please also have a look at http://bugzilla.kernel.org/show_bug.cgi?id=10030.
> > There seems to be another issue related to us holding devices' semaphores.
> > Namely, it looks like, when the user removes the card, a concurrent thread
> > (from a workqueue) calls device_del() and blocks on the dev->sem held by
> > us and then something else deadlocks with this thread. I'll be looking into
> > this tomorrow.
>
> I've been too busy with other things to look at the activity on that
> bug report. Tonight or tomorrow...

Unfortunately, I missed your Bugzilla comment at
http://bugzilla.kernel.org/show_bug.cgi?id=10030#c28

Well, in the face of it, I'm considering to remove the code that
acquires device semaphores from the suspend core for now. Evidently, this
change turns out to be painfully premature.

Also, we have apparent problems with pm_sleep_lock()
being take in device_add() (see
http://bugzilla.kernel.org/show_bug.cgi?id=9874).

Thanks,
Rafael