Greg:
This patch fixes another bug in the dummy_hcd driver. When a gadget
driver unregisters (simulating a device disconnect), dummy_hcd stops the
timer that it uses for processing outstanding URBs. Unfortunately this
means that those URBs will never be given back. The patch lets the timer
continue running; when it expires all the remaining URBs will fail so the
timer won't be reinitialized.
Please apply.
Alan Stern
Signed-off-by: Alan Stern <[EMAIL PROTECTED]>
===== drivers/usb/gadget/dummy_hcd.c 1.6 vs edited =====
--- 1.6/drivers/usb/gadget/dummy_hcd.c Wed Jun 9 07:40:49 2004
+++ edited/drivers/usb/gadget/dummy_hcd.c Fri Jun 18 17:09:56 2004
@@ -739,11 +739,9 @@
struct dummy_ep *ep;
/* prevent any more requests */
- dum->hdev = 0;
dum->address = 0;
- /* this might not succeed ... */
- del_timer (&dum->timer);
+ /* The timer is left running so that outstanding URBs can fail */
/* nuke any pending requests first, so driver i/o is quiesced */
list_for_each_entry (ep, &dum->gadget.ep_list, ep.ep_list)
@@ -784,7 +782,6 @@
driver_unregister (&driver->driver);
- del_timer_sync (&dum->timer);
return 0;
}
EXPORT_SYMBOL (usb_gadget_unregister_driver);
-------------------------------------------------------
This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference
Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer
Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA
REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel