On Mon, 2004-01-12 at 23:38, Alan Stern wrote: > Try adding some printk's to the giveback_urb routine. That will at least > tell you if the URB is getting stuck in the controller driver or somewhere > else. You can also try adding some printk's to hcd_endpoint_disable() > also in the hcd.c source file; that routine is the one that unlinks all > the URBs when a device gets disconnected.
OK, I flooded hcd_endpoint_disable() and usb_hcd_giveback_urb() with printks and found out that the first get called when I unplug the device and it calls unlink1() with the correct urb then prints (with debugging enabled) "uhci_hcd 0000:00:07.2: shutdown urb cf02bb00 pipe c0020480 ep4in-bulk" it goes back to "rescan:" then the list of URBs is empty and the function returns. The usb_hcd_giveback_urb() on the other hand never gets called with the URB of interest. It is not quite obvious to me where to go. If you could tell me the missing function calls "between" endpoint_disable()/unlink1() and giveback_urb(), that would be helpful. Thanks, Axel. ------------------------------------------------------- This SF.net email is sponsored by: Perforce Software. Perforce is the Fast Software Configuration Management System offering advanced branching capabilities and atomic changes on 50+ platforms. Free Eval! http://www.perforce.com/perforce/loadprog.html _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel