1 Revised: 2000-Dec-05.
2
3 This is the documentation of (hopefully) all possible error codes (and
4 their interpretation) that can be returned from the host controller drivers
5 and from usbcore.
6
7 NOTE:
8 The USB_ST_* codes are deprecated and are only listed for compatibility;
9 new software should use only -E* instead!
10
11
12
13 **************************************************************************
14 * Error codes returned by usb_submit_urb *
15 **************************************************************************
16
17 Non-USB-specific:
18
19 USB_ST_NOERROR
20 0 URB submission went fine
21
22 -ENOMEM no memory for allocation of internal structures
23
24 USB-specific:
25
26 -ENODEV specified USB-device or bus doesn't exist
27
28 USB_ST_REQUEST_ERROR
29 -ENXIO a control or interrupt URB is already queued to this endpoint; or
30 a bulk URB is already queued to this endpoint and
31 USB_QUEUE_BULK wasn't used (UHCI HCDs only)
32
33 USB_ST_URB_INVALID_ERROR
34 -EINVAL a) Invalid transfer type specified (or not supported)
35 b) Invalid interrupt interval (0<=n<256)
36 c) more than one interrupt packet requested
37 d) ISO: number_of_packets is < 0
38
39 -EAGAIN a) specified ISO start frame too early
40 b) (using ISO-ASAP) too much scheduled for the future
41 wait some time and try again.
42
43 -EFBIG too much ISO frames requested (currently uhci>900)
44
45 USB_ST_STALL
46 -EPIPE specified pipe-handle is already stalled
47
48 -EMSGSIZE endpoint message size is zero, do interface/alternate setting
49
50 USB_ST_BANDWIDTH_ERROR
51 -ENOSPC The host controller's bandwidth is already consumed and
52 this request would push it past its allowed limit.
53
54 -ESHUTDOWN The host controller has been disabled due to some
55 problem that could not be worked around.
56
57
58 **************************************************************************
59 * Error codes returned by in urb->status *
60 * or in iso_frame_desc[n].status (for ISO) *
61 **************************************************************************
62
63 USB_ST_NOERROR
64 0 Transfer completed successfully
65
66 USB_ST_URB_KILLED
67 -ENOENT URB was canceled by usb_unlink_urb
68
69 USB_ST_URB_PENDING
70 -EINPROGRESS URB still pending, no results yet
71 (actually no error until now;-)
72
73 USB_ST_BITSTUFF
74 USB_ST_INTERNALERROR
75 -EPROTO a) bitstuff error
76 b) unknown USB error
77
78 USB_ST_CRC
79 -EILSEQ CRC mismatch
80
81 USB_ST_STALL
82 -EPIPE a) babble detect
83 b) endpoint stalled
84
85 USB_ST_BUFFEROVERRUN
86 -ECOMM During an IN transfer, the host controller
87 received data from an endpoint faster than it
88 could be written to system memory
89
90 USB_ST_BUFFERUNDERRUN
91 -ENOSR During an OUT transfer, the host controller
92 could not retrieve data from system memory fast
93 enough to keep up with the USB data rate
94
95 USB_ST_DATAOVERRUN
96 -EOVERFLOW The amount of data returned by the endpoint was
97 greater than either the max packet size of the
98 endpoint or the remaining buffer size
99
100 USB_ST_DATAUNDERRUN
101 -EREMOTEIO The endpoint returned less than max packet size
102 and that amount did not fill the specified buffer
103 USB_ST_NORESPONSE
104 USB_ST_TIMEOUT
105 -ETIMEDOUT transfer timed out, NAK
106
107 USB_ST_REMOVED
108 -ENODEV device was removed
109
110 USB_ST_SHORT_PACKET
111 -EREMOTEIO short packet detected
112
113 USB_ST_PARTIAL_ERROR
114 -EXDEV ISO transfer only partially completed
115 look at individual frame status for details
116
117 USB_ST_URB_INVALID_ERROR
118 -EINVAL ISO madness, if this happens: Log off and go home
119
120 -ECONNRESET the URB is being unlinked asynchronously
121
122 **************************************************************************
123 * Error codes returned by usbcore-functions *
124 * (expect also other submit and transfer status codes) *
125 **************************************************************************
126
127 usb_register():
128 -EINVAL error during registering new driver
129
130 usb_get_*/usb_set_*():
131 All USB errors (submit/status) can occur
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.