USBA_HCDI_PIPE_RESET(9E) | Driver Entry Points | USBA_HCDI_PIPE_RESET(9E) |
usba_hcdi_pipe_reset
—
reset an open USB pipe
#include
<sys/usb/usba/hcdi.h>
int
prefix_hcdi_pipe_reset
(usba_pipe_handle_data_t
*ph, usb_flags_t usb_flags);
Volatile - illumos USB HCD private function
This is a private function that is not part of the stable DDI. It may be removed or changed at any time.
Note, the request may still fail even if USB_FLAGS_SLEEP is specified.
The
usba_hcdi_pipe_reset
()
entry point is designed to take a pipe in an arbitrary state and return it
to the same state it was in after a call to
usba_hcdi_pipe_open(9E).
While this entry point does some similar things to the
usba_hcdi_pipe_stop_intr_polling(9E)
and
usba_hcdi_pipe_stop_isoc_polling(9E)
entry points, there are some notable differences.
This entry point is synchronous. The host controller driver should take the following steps on the pipe before returning:
This entry point is called by the broader USBA framework as part of closing a pipe or in response to a device stall.
Upon successful completion, the
usba_hcdi_pipe_reset
() function should return
USB_SUCCESS.
Otherwise, it should return the appropriate USB error. If uncertain, use
USB_FAILURE.
usba_hcdi_pipe_open(9E), usba_hcdi_pipe_stop_intr_polling(9E), usba_hcdi_pipe_stop_isoc_polling(9E), usba_hcdi_cb(9F), usba_pipe_handle_data(9S)
December 22, 2016 | OmniOS |