Re: 2.6.22-rc2-mm1

Oleg Nesterov <[email protected]>
Newsgroups gmane.linux.kernel,gmane.linux.usb.devel
Message-ID <[email protected]>
On 05/23, Alan Stern wrote:
>
> Okay, it's clear that the two threads are in deadlock.  It's not clear 
> how the deadlock arose to begin with -- apparently there was a remote 
> wakeup request for a root hub at the same time as a device below that 
> root hub was disconnected, which doesn't make much sense.

Please note that this flush_workqueue() was not safe anyway. We are freezing
tasks, and ksuspend_usb_wq is freezeable. So, it could be frozen before
"khubd" task, and we have another deadlock.

> Anyway, this looks like a good place to use cancel_work_sync().  The

Could you use cancel_rearming_delayed_work() ? (It should be renamed to
cancel_delayed_work_sync()).

Oleg.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.