Data Structures for Drivers usb_completion_reason(9S)
NAME
usb_completion_reason - USB completion reason definitions
SYNOPSIS
#include
INTERFACE LEVEL
Solaris DDI specific (Solaris DDI)DESCRIPTION
If an error occurs during execution of a USB request, the USBA framework calls a client driver's exception callback handler to relay what happened. The host controller reports transport errors to the exception callback handler through the handler's request argument's completion reason(usb_cr_t) field. A completion reason of USB_CR_OK means the
transfer completed with no errors detected.The usb_cr_t enumerated type contains the following defini-
tions:USB_CR_OK The transfer completed without
any errors being detected.USB_CR_CRC CRC error was detected.
USB_CR_BITSTUFFING Bit stuffing violation was
detected.USB_CR_DATA_TOGGLE_MM Data toggle packet identifier did
not match expected value.USB_CR_STALL The device endpoint indicated
that it is stalled. If autoclear-
ing is enabled for the request (request attributes hasUSB_ATTRS_AUTOCLEARING set),
check the callback flags(usb_cb_flags_t) in the callback
handler to determine whether the stall is a functional stall(USB_CB_FUNCTIONAL_STALL) or a
protocol stall(USB_CB_PROTOCOL_STALL). Please
see usb_request_attributes(9S)
for more information onSunOS 5.11 Last change: 5 Jan 2004 1
Data Structures for Drivers usb_completion_reason(9S)
autoclearing.USB_CR_DEV_NOT_RESP Host controller timed out while
waiting for device to respond.USB_CR_PID_CHECKFAILURE Check bits on the packet identif-
ier returned from the device were not as expected.USB_CR_UNEXP_PID Packet identifier received was
not valid.USB_CR_DATA_OVERRUN Amount of data returned exceeded
either the maximum packet size of the endpoint or the remaining buffer size.USB_CR_DATA_UNDERRUN Amount of data returned was not
sufficient to fill the specified buffer and theUSB_ATTRS_SHORT_XFER_OK attribute
was not set. Please seeusb_request_attributes(9S) for
more information on allowance of short transfers.USB_CR_BUFFER_OVERRUN A device sent data faster than
the system could digest it.USB_CR_BUFFER_UNDERRUN The host controller could not get
data from the system fast enough to keep up with the required USB data rate.USB_CR_TIMEOUT A timeout specified in a control,
bulk, or one-time interrupt
request has expired.USB_CR_NOT_ACCESSED Request was not accessed nor pro-
cessed by the host controller.SunOS 5.11 Last change: 5 Jan 2004 2
Data Structures for Drivers usb_completion_reason(9S)
USB_CR_NO_RESOURCES No resources were available to
continue servicing a periodic interrupt or isochronous request.USB_CR_STOPPED_POLLING Servicing of the current periodic
request cannot continue becausepolling on an interrupt-IN or
isochronous-IN endpoint has
stopped.USB_CR_PIPE_CLOSING Request was not started because
the pipe to which it was queued was closing or closed.USB_CR_PIPE_RESET Request was not started because
the pipe to which it was queued was reset.USB_CR_NOT_SUPPORTED Request or command is not sup-
ported.USB_CR_FLUSHED Request was not completed because
the pipe to which it was queued went to an error state, became stalled, was reset or was closed.USB_CR_HC_HARDWARE_ERR Request could not be completed
due to a general host controller hardware error.ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:SunOS 5.11 Last change: 5 Jan 2004 3
Data Structures for Drivers usb_completion_reason(9S)
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Architecture | PCI-based systems |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| Availability | driver/usb, driver/usbu ||_____________________________|_____________________________|
SEE ALSO
usb_alloc_request(9F), usb_pipe_bulk_xfer(9F),
usb_pipe_ctrl_xfer(9F), usb_pipe_intr_xfer(9F),
usb_pipe_isoc_xfer(9F), usb_bulk_request(9S),
usb_ctrl_request(9S), usb_intr_request(9S),
usb_isoc_request(9S).
SunOS 5.11 Last change: 5 Jan 2004 4