3 This is the documentation of (hopefully) all possible error codes (and
4 their interpretation) that can be returned from the host controller drivers
8 The USB_ST_* codes are deprecated and are only listed for compatibility;
9 new software should use only -E* instead!
13 **************************************************************************
14 * Error codes returned by usb_submit_urb *
15 **************************************************************************
20 0 URB submission went fine
22 -ENOMEM no memory for allocation of internal structures
26 -ENODEV specified USB-device or bus doesn't exist
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)
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
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.
43 -EFBIG too much ISO frames requested (currently uhci>900)
46 -EPIPE specified pipe-handle is already stalled
48 -EMSGSIZE endpoint message size is zero, do interface/alternate setting
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.
54 -ESHUTDOWN The host controller has been disabled due to some
55 problem that could not be worked around.
58 **************************************************************************
59 * Error codes returned by in urb->status *
60 * or in iso_frame_desc[n].status (for ISO) *
61 **************************************************************************
64 0 Transfer completed successfully
67 -ENOENT URB was canceled by usb_unlink_urb
70 -EINPROGRESS URB still pending, no results yet
71 (actually no error until now;-)
75 -EPROTO a) bitstuff error
82 -EPIPE a) babble detect
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
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
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
101 -EREMOTEIO The endpoint returned less than max packet size
102 and that amount did not fill the specified buffer
105 -ETIMEDOUT transfer timed out, NAK
108 -ENODEV device was removed
111 -EREMOTEIO short packet detected
114 -EXDEV ISO transfer only partially completed
115 look at individual frame status for details
117 USB_ST_URB_INVALID_ERROR
118 -EINVAL ISO madness, if this happens: Log off and go home
120 -ECONNRESET the URB is being unlinked asynchronously
122 **************************************************************************
123 * Error codes returned by usbcore-functions *
124 * (expect also other submit and transfer status codes) *
125 **************************************************************************
128 -EINVAL error during registering new driver
130 usb_get_*/usb_set_*():
131 All USB errors (submit/status) can occur