Dequeues (cancels, unlinks) an i/o request from an endpoint
int usb_ep_dequeue(struct usb_ep * ep, struct usb_request * req);
ep
the endpoint associated with the request
req
the request being canceled
if the request is still active on the endpoint, it is dequeued and its completion routine is called (with status -ECONNRESET); else a negative error code is returned.
note that some hardware can't clear out write fifos (to unlink the request at the head of the queue) except as part of disconnecting from usb. such restrictions prevent drivers from supporting configuration changes, even to configuration zero (a “chapter 9” requirement).
David Brownell <[email protected]>
Author.