usb_ep_set_halt - sets the endpoint halt feature.
2. SYNOPSIS ▲
int usb_ep_set_halt(struct usb_ep * ep );
3. ARGUMENTS ▲
the non-isochronous endpoint being stalled
4. DESCRIPTION ▲
Use this to stall an endpoint, perhaps as an error report. Except for control endpoints, the endpoint stays halted (will not stream any data) until the host clears this feature; drivers may need to empty the endpointAqs request queue first, to make sure no inappropriate transfers happen.
Note that while an endpoint CLEAR_FEATURE will be invisible to the gadget driver, a SET_INTERFACE will not be. To reset endpoints for the current altsetting, see usb_ep_clear_halt. When switching altsettings, itAqs simplest to use usb_ep_enable or usb_ep_disable for the endpoints.
Returns zero, or a negative error code. On success, this call sets underlying hardware state that blocks data transfers. Attempts to halt IN endpoints will fail (returning -EAGAIN) if any transfer requests are still queued, or if the controller hardware (usually a FIFO) still holds bytes that the host hasnAqt collected.
5. AUTHOR ▲
David Brownell <
6. COPYRIGHT ▲