fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / Documentation / usb / error-codes.txt
index 9e41284..9cf83e8 100644 (file)
@@ -23,6 +23,9 @@ USB-specific:
 
 -ENODEV                specified USB-device or bus doesn't exist
 
+-ENOENT                specified interface or endpoint does not exist or
+               is not enabled
+
 -ENXIO         host controller driver does not support queuing of this type
                of urb.  (treat as a host controller bug.)
 
@@ -43,8 +46,9 @@ USB-specific:
 
 -EMSGSIZE      (a) endpoint maxpacket size is zero; it is not usable
                    in the current interface altsetting.
-               (b) ISO packet is biger than endpoint maxpacket
-               (c) requested data transfer size is invalid (negative)
+               (b) ISO packet is larger than the endpoint maxpacket.
+               (c) requested data transfer length is invalid: negative
+                   or too large for the host controller.
 
 -ENOSPC                This request would overcommit the usb bandwidth reserved
                for periodic transfers (interrupt, isochronous).
@@ -88,13 +92,19 @@ one or more packets could finish before an error stops further endpoint I/O.
                           prescribed bus turn-around time
                        c) unknown USB error 
 
-                       In cases b) and c) either -EPROTO or -EILSEQ
-                       may be returned.  Note that often the controller
-                       hardware does not distinguish among cases a),
-                       b), and c), so a driver cannot tell whether
-                       there was a protocol error, a failure to respond
-                       (often caused by device disconnect), or some
-                       other fault.
+                       Note that often the controller hardware does not
+                       distinguish among cases a), b), and c), so a
+                       driver cannot tell whether there was a protocol
+                       error, a failure to respond (often caused by
+                       device disconnect), or some other fault.
+
+-ETIME (**)            No response packet received within the prescribed
+                       bus turn-around time.  This error may instead be
+                       reported as -EPROTO or -EILSEQ.
+
+-ETIMEDOUT             Synchronous USB message functions use this code
+                       to indicate timeout expired before the transfer
+                       completed, and no other error was reported by HC.
 
 -EPIPE (**)            Endpoint stalled.  For non-control endpoints,
                        reset this status with usb_clear_halt().
@@ -116,7 +126,7 @@ one or more packets could finish before an error stops further endpoint I/O.
                        urb->transfer_flags.
 
 -ENODEV                        Device was removed.  Often preceded by a burst of
-                       other errors, since the hub driver does't detect
+                       other errors, since the hub driver doesn't detect
                        device removal events immediately.
 
 -EXDEV                 ISO transfer only partially completed
@@ -135,7 +145,7 @@ one or more packets could finish before an error stops further endpoint I/O.
 hardware problems such as bad devices (including firmware) or cables.
 
 (**) This is also one of several codes that different kinds of host
-controller use to to indicate a transfer has failed because of device
+controller use to indicate a transfer has failed because of device
 disconnect.  In the interval before the hub driver starts disconnect
 processing, devices may receive such fault reports for every request.
 
@@ -152,4 +162,4 @@ usb_register():
 usb_get_*/usb_set_*():
 usb_control_msg():
 usb_bulk_msg():
--ETIMEDOUT             timeout expired before the transfer completed
+-ETIMEDOUT             Timeout expired before the transfer completed.