more changes on original files
[linux-2.4.git] / Documentation / usb / error-codes.txt
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                  endpoint stalled
83
84 USB_ST_BUFFEROVERRUN
85 -ECOMM                  During an IN transfer, the host controller
86                         received data from an endpoint faster than it
87                         could be written to system memory
88
89 USB_ST_BUFFERUNDERRUN
90 -ENOSR                  During an OUT transfer, the host controller
91                         could not retrieve data from system memory fast
92                         enough to keep up with the USB data rate
93
94 USB_ST_DATAOVERRUN
95 -EOVERFLOW              The amount of data returned by the endpoint was
96                         greater than either the max packet size of the
97                         endpoint or the remaining buffer size.  "Babble".
98
99 USB_ST_DATAUNDERRUN
100 -EREMOTEIO              The endpoint returned less than max packet size
101                         and that amount did not fill the specified buffer
102 USB_ST_NORESPONSE
103 USB_ST_TIMEOUT
104 -ETIMEDOUT              transfer timed out, NAK
105
106 USB_ST_REMOVED  
107 -ENODEV                 device was removed
108
109 USB_ST_SHORT_PACKET
110 -EREMOTEIO              short packet detected
111
112 USB_ST_PARTIAL_ERROR
113 -EXDEV                  ISO transfer only partially completed
114                         look at individual frame status for details
115
116 USB_ST_URB_INVALID_ERROR
117 -EINVAL                 ISO madness, if this happens: Log off and go home
118
119 -ECONNRESET             the URB is being unlinked asynchronously
120
121 **************************************************************************
122 *              Error codes returned by usbcore-functions                 *
123 *           (expect also other submit and transfer status codes)         *
124 **************************************************************************
125
126 usb_register():
127 -EINVAL                 error during registering new driver
128
129 usb_get_*/usb_set_*():
130                         All USB errors (submit/status) can occur