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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.