Disabling endpoints
Alan Stern <[email protected]>
| Newsgroups | gmane.linux.usb.devel |
|---|---|
| Message-ID | <[email protected]> |
Dave: Looking at the musb host code reminded me of something... The endpoint_disable method is more complicated than it should be, due to the need to make sure there are no remaining URBs queued. Well, this sounds like something usbcore ought to take care of. Indeed, it would be quite easy to change usb_hcd_endpoint_disable() so that the HCD's method isn't called until after all the URBs are known to be completed. Doing this could, in principle, be helpful to every HCD. A related thought: When a USB device is suspended, either as part of a system sleep or selectively, usbcore ought to make sure there are no remaining URBs queued for that device. Basically we should do all of usb_hcd_endpoint_disable() except for calling the HCD method. Combining these ideas, it looks like this function should be split in two: one routine to unlink all the existing URBs and wait for them to complete, and one to call the HCD's method. Then each could be invoked as needed. What do you think? Alan Stern ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ [email protected] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel