USBA_HCDI_PIPE_RESET(9E) | Driver Entry Points | USBA_HCDI_PIPE_RESET(9E) |
usba_hcdi_pipe_reset
—
#include <sys/usb/usba/hcdi.h>
int
prefix_hcdi_pipe_reset
(usba_pipe_handle_data_t
*ph, usb_flags_t usb_flags);
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.
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.
usba_hcdi_pipe_reset
()
function should return USB_SUCCESS. Otherwise, it should
return the appropriate USB error. If uncertain, use
USB_FAILURE.
August 20, 2019 | illumos |