USB: fix locking loop by avoiding flush_scheduled_work
authorAlan Stern <stern@rowland.harvard.edu>
Tue, 11 Dec 2007 21:02:23 +0000 (16:02 -0500)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 17 Dec 2007 18:47:15 +0000 (10:47 -0800)
commitd48bd977e0dd8c17081d12242bfc09d743ea0d26
treef55e55a14cc938a3cd62026181a06c7c398f80ee
parentf88ed90d8627d0d3d93b330d6d2012c2934fb54e
USB: fix locking loop by avoiding flush_scheduled_work

This patch (as1027) replaces a call to flush_scheduled_work() -- a
dangerous routine to invoke, especially while holding any sort of lock
-- with calls to cancel_work_sync() and cancel_delayed_work_sync().

This fixes Bugzilla #9532.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
CC: David Brownell <david-b@pacbell.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/core/hub.c