1usb_completion_reason(9S) Data Structures for Driversusb_completion_reason(9S)
2
3
4
6 usb_completion_reason - USB completion reason definitions
7
9 #include <sys/usb/usba.h>
10
11
13 Solaris DDI specific (Solaris DDI)
14
16 If an error occurs during execution of a USB request, the USBA frame‐
17 work calls a client driver's exception callback handler to relay what
18 happened. The host controller reports transport errors to the exception
19 callback handler through the handler's request argument's completion
20 reason (usb_cr_t) field. A completion reason of USB_CR_OK means the
21 transfer completed with no errors detected.
22
23
24 The usb_cr_t enumerated type contains the following definitions:
25
26 USB_CR_OK The transfer completed without any errors
27 being detected.
28
29
30 USB_CR_CRC CRC error was detected.
31
32
33 USB_CR_BITSTUFFING Bit stuffing violation was detected.
34
35
36 USB_CR_DATA_TOGGLE_MM Data toggle packet identifier did not match
37 expected value.
38
39
40 USB_CR_STALL The device endpoint indicated that it is
41 stalled. If autoclearing is enabled for the
42 request (request attributes has
43 USB_ATTRS_AUTOCLEARING set), check the call‐
44 back flags (usb_cb_flags_t) in the callback
45 handler to determine whether the stall is a
46 functional stall (USB_CB_FUNCTIONAL_STALL)
47 or a protocol stall (USB_CB_PROTOCOL_STALL).
48 Please see usb_request_attributes(9S) for
49 more information on autoclearing.
50
51
52 USB_CR_DEV_NOT_RESP Host controller timed out while waiting for
53 device to respond.
54
55
56 USB_CR_PID_CHECKFAILURE Check bits on the packet identifier returned
57 from the device were not as
58 expected.
59
60
61 USB_CR_UNEXP_PID Packet identifier received was not valid.
62
63
64 USB_CR_DATA_OVERRUN Amount of data returned exceeded either the
65 maximum packet size of the endpoint or the
66 remaining buffer size.
67
68
69 USB_CR_DATA_UNDERRUN Amount of data returned was not sufficient
70 to fill the specified buffer and the
71 USB_ATTRS_SHORT_XFER_OK attribute was not
72 set. Please see usb_request_attributes(9S)
73 for more information on allowance of short
74 transfers.
75
76
77 USB_CR_BUFFER_OVERRUN A device sent data faster than the system
78 could digest it.
79
80
81 USB_CR_BUFFER_UNDERRUN The host controller could not get data from
82 the system fast enough to keep up with the
83 required USB data rate.
84
85
86 USB_CR_TIMEOUT A timeout specified in a control, bulk, or
87 one-time interrupt request has expired.
88
89
90 USB_CR_NOT_ACCESSED Request was not accessed nor processed by
91 the host controller.
92
93
94 USB_CR_NO_RESOURCES No resources were available to continue ser‐
95 vicing a periodic interrupt or isochronous
96 request.
97
98
99 USB_CR_STOPPED_POLLING Servicing of the current periodic request
100 cannot continue because polling on an inter‐
101 rupt-IN or isochronous-IN endpoint has
102 stopped.
103
104
105 USB_CR_PIPE_CLOSING Request was not started because the pipe to
106 which it was queued was closing or closed.
107
108
109 USB_CR_PIPE_RESET Request was not started because the pipe to
110 which it was queued was reset.
111
112
113 USB_CR_NOT_SUPPORTED Request or command is not supported.
114
115
116 USB_CR_FLUSHED Request was not completed because the pipe
117 to which it was queued went to an error
118 state, became stalled, was reset or was
119 closed.
120
121
122 USB_CR_HC_HARDWARE_ERR Request could not be completed due to a gen‐
123 eral host controller hardware
124 error.
125
126
128 See attributes(5) for descriptions of the following attributes:
129
130
131
132
133 ┌─────────────────────────────┬─────────────────────────────┐
134 │ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
135 ├─────────────────────────────┼─────────────────────────────┤
136 │Architecture │PCI-based systems │
137 ├─────────────────────────────┼─────────────────────────────┤
138 │Interface stability │Committed │
139 ├─────────────────────────────┼─────────────────────────────┤
140 │Availability │SUNWusb, SUNWusbu │
141 └─────────────────────────────┴─────────────────────────────┘
142
144 usb_alloc_request(9F), usb_pipe_bulk_xfer(9F), usb_pipe_ctrl_xfer(9F),
145 usb_pipe_intr_xfer(9F), usb_pipe_isoc_xfer(9F), usb_bulk_request(9S),
146 usb_ctrl_request(9S), usb_intr_request(9S), usb_isoc_request(9S).
147
148
149
150SunOS 5.11 5 Jan 2004 usb_completion_reason(9S)