Axel Waggershauser wrote:

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.

The giveback() call in this case should happen after the now-canceled urbs have been decoupled from the hardware. But your system doesn't have a uhci_endpoint_disable() call to use ... so that synchronization has to happen in the traditional place (your device driver) rather than inside usbcore (before your driver can even notice the issue).

- Dave





-------------------------------------------------------
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

Reply via email to