USB HID: avoid flush_scheduled_work()
authorAlan Stern <stern@rowland.harvard.edu>
Wed, 30 May 2007 15:11:12 +0000 (11:11 -0400)
committerJiri Kosina <jkosina@suse.cz>
Mon, 9 Jul 2007 12:13:30 +0000 (14:13 +0200)
This patch (as914) replaces a call to flush_scheduled_work() with
cancel_work_sync(), in order to help avoid potential deadlocks.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/usbhid/hid-core.c

index d91b9da..093abb5 100644 (file)
@@ -956,7 +956,7 @@ static void hid_disconnect(struct usb_interface *intf)
        usb_kill_urb(usbhid->urbctrl);
 
        del_timer_sync(&usbhid->io_retry);
-       flush_scheduled_work();
+       cancel_work_sync(&usbhid->reset_work);
 
        if (hid->claimed & HID_CLAIMED_INPUT)
                hidinput_disconnect(hid);