[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070523162125.GA321@tv-sign.ru>
Date: Wed, 23 May 2007 20:21:25 +0400
From: Oleg Nesterov <oleg@...sign.ru>
To: Alan Stern <stern@...land.harvard.edu>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
"Rafael J. Wysocki" <rjw@...k.pl>, Pavel Machek <pavel@....cz>,
USB development list <linux-usb-devel@...ts.sourceforge.net>,
Kernel development list <linux-kernel@...r.kernel.org>
Subject: Re: 2.6.22-rc2-mm1
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.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists