Ok. I didn't make 2.4.0 in 2000. Tough. I tried, but we had some
[davej-history.git] / Documentation / usb / error-codes.txt
blob964af3033decf28c953935415cd6f0935f0a7c94
1 Revised: 2000-Dec-05.
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.
7 NOTE:
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 **************************************************************************
17 Non-USB-specific:
19 USB_ST_NOERROR
20 0               URB submission went fine
22 -ENOMEM         no memory for allocation of internal structures 
24 USB-specific:
26 -ENODEV         specified USB-device or bus doesn't exist
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)
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)
45 USB_ST_STALL
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 **************************************************************************
63 USB_ST_NOERROR
64 0                       Transfer completed successfully
66 USB_ST_URB_KILLED
67 -ENOENT                 URB was canceled by usb_unlink_urb
69 USB_ST_URB_PENDING
70 -EINPROGRESS            URB still pending, no results yet
71                         (actually no error until now;-)
73 USB_ST_BITSTUFF
74 USB_ST_INTERNALERROR
75 -EPROTO                 a) bitstuff error
76                         b) unknown USB error 
78 USB_ST_CRC
79 -EILSEQ                 CRC mismatch
81 USB_ST_STALL
82 -EPIPE                  a) babble detect
83                         b) endpoint stalled
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
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
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
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
107 USB_ST_REMOVED  
108 -ENODEV                 device was removed
110 USB_ST_SHORT_PACKET
111 -EREMOTEIO              short packet detected
113 USB_ST_PARTIAL_ERROR
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 **************************************************************************
127 usb_register():
128 -EINVAL                 error during registering new driver
130 usb_get_*/usb_set_*():
131                         All USB errors (submit/status) can occur