diff options
author | Pete Zaitcev <zaitcev@redhat.com> | 2006-09-19 01:49:02 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-09-27 14:59:00 -0400 |
commit | 38e2bfc94e95dd6005fdaf40dfec0157396741da (patch) | |
tree | 1cc927239e3369ec7ce4920b1347dd8bc504bb2d | |
parent | ec17cf1cfe0b557210b27313bd584e9b5187d4ca (diff) |
USB: Dealias -110 code (more complete)
The purpose of this patch is to split off the case when a device does
not reply on the lower level (which is reported by HC hardware), and
a case when the device accepted the request, but does not reply at
upper level. This redefinition allows to diagnose issues easier,
without asking the user if the -110 happened "immediately".
The usbmon splits such cases already thanks to its timestamp, but
it's not always available.
I adjusted all drivers which I found affected (by searching for "urb").
Out of tree drivers may suffer a little bit, but I do not expect much
breakage. At worst they may print a few messages.
Signed-off-by: Pete Zaitcev <zaitcev@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | Documentation/usb/error-codes.txt | 11 | ||||
-rw-r--r-- | drivers/isdn/gigaset/bas-gigaset.c | 2 | ||||
-rw-r--r-- | drivers/isdn/hisax/hfc_usb.h | 6 | ||||
-rw-r--r-- | drivers/media/dvb/dvb-usb/dvb-usb-urb.c | 1 | ||||
-rw-r--r-- | drivers/media/dvb/ttusb-dec/ttusb_dec.c | 2 | ||||
-rw-r--r-- | drivers/media/video/ov511.c | 7 | ||||
-rw-r--r-- | drivers/media/video/pwc/pwc-if.c | 2 | ||||
-rw-r--r-- | drivers/media/video/w9968cf.c | 7 | ||||
-rw-r--r-- | drivers/net/irda/irda-usb.c | 18 | ||||
-rw-r--r-- | drivers/net/wireless/zd1201.c | 4 | ||||
-rw-r--r-- | drivers/usb/host/isp116x.h | 2 | ||||
-rw-r--r-- | drivers/usb/host/ohci.h | 2 | ||||
-rw-r--r-- | drivers/usb/host/sl811-hcd.c | 2 | ||||
-rw-r--r-- | drivers/usb/input/hid-core.c | 3 | ||||
-rw-r--r-- | drivers/usb/input/itmtouch.c | 2 | ||||
-rw-r--r-- | drivers/usb/input/mtouchusb.c | 2 | ||||
-rw-r--r-- | drivers/usb/input/touchkitusb.c | 2 | ||||
-rw-r--r-- | drivers/usb/input/usbtouchscreen.c | 2 | ||||
-rw-r--r-- | drivers/usb/misc/auerswald.c | 4 | ||||
-rw-r--r-- | drivers/usb/net/pegasus.c | 2 | ||||
-rw-r--r-- | drivers/usb/net/rtl8150.c | 2 | ||||
-rw-r--r-- | drivers/usb/net/usbnet.c | 12 | ||||
-rw-r--r-- | drivers/usb/storage/transport.c | 5 | ||||
-rw-r--r-- | sound/usb/usbmidi.c | 6 |
24 files changed, 48 insertions, 60 deletions
diff --git a/Documentation/usb/error-codes.txt b/Documentation/usb/error-codes.txt index 867f4c38f356..39c68f8c4e6c 100644 --- a/Documentation/usb/error-codes.txt +++ b/Documentation/usb/error-codes.txt | |||
@@ -98,13 +98,13 @@ one or more packets could finish before an error stops further endpoint I/O. | |||
98 | error, a failure to respond (often caused by | 98 | error, a failure to respond (often caused by |
99 | device disconnect), or some other fault. | 99 | device disconnect), or some other fault. |
100 | 100 | ||
101 | -ETIMEDOUT (**) No response packet received within the prescribed | 101 | -ETIME (**) No response packet received within the prescribed |
102 | bus turn-around time. This error may instead be | 102 | bus turn-around time. This error may instead be |
103 | reported as -EPROTO or -EILSEQ. | 103 | reported as -EPROTO or -EILSEQ. |
104 | 104 | ||
105 | Note that the synchronous USB message functions | 105 | -ETIMEDOUT Synchronous USB message functions use this code |
106 | also use this code to indicate timeout expired | 106 | to indicate timeout expired before the transfer |
107 | before the transfer completed. | 107 | completed, and no other error was reported by HC. |
108 | 108 | ||
109 | -EPIPE (**) Endpoint stalled. For non-control endpoints, | 109 | -EPIPE (**) Endpoint stalled. For non-control endpoints, |
110 | reset this status with usb_clear_halt(). | 110 | reset this status with usb_clear_halt(). |
@@ -163,6 +163,3 @@ usb_get_*/usb_set_*(): | |||
163 | usb_control_msg(): | 163 | usb_control_msg(): |
164 | usb_bulk_msg(): | 164 | usb_bulk_msg(): |
165 | -ETIMEDOUT Timeout expired before the transfer completed. | 165 | -ETIMEDOUT Timeout expired before the transfer completed. |
166 | In the future this code may change to -ETIME, | ||
167 | whose definition is a closer match to this sort | ||
168 | of error. | ||
diff --git a/drivers/isdn/gigaset/bas-gigaset.c b/drivers/isdn/gigaset/bas-gigaset.c index 3845defd4901..5cfbe6a38010 100644 --- a/drivers/isdn/gigaset/bas-gigaset.c +++ b/drivers/isdn/gigaset/bas-gigaset.c | |||
@@ -192,7 +192,7 @@ static char *get_usb_statmsg(int status) | |||
192 | return "bit stuffing error, timeout, or unknown USB error"; | 192 | return "bit stuffing error, timeout, or unknown USB error"; |
193 | case -EILSEQ: | 193 | case -EILSEQ: |
194 | return "CRC mismatch, timeout, or unknown USB error"; | 194 | return "CRC mismatch, timeout, or unknown USB error"; |
195 | case -ETIMEDOUT: | 195 | case -ETIME: |
196 | return "timed out"; | 196 | return "timed out"; |
197 | case -EPIPE: | 197 | case -EPIPE: |
198 | return "endpoint stalled"; | 198 | return "endpoint stalled"; |
diff --git a/drivers/isdn/hisax/hfc_usb.h b/drivers/isdn/hisax/hfc_usb.h index ec52c1a7c22a..6349367ed480 100644 --- a/drivers/isdn/hisax/hfc_usb.h +++ b/drivers/isdn/hisax/hfc_usb.h | |||
@@ -137,11 +137,11 @@ static struct hfcusb_symbolic_list urb_errlist[] = { | |||
137 | {-ENXIO, "URB already queued"}, | 137 | {-ENXIO, "URB already queued"}, |
138 | {-EFBIG, "Too much ISO frames requested"}, | 138 | {-EFBIG, "Too much ISO frames requested"}, |
139 | {-ENOSR, "Buffer error (overrun)"}, | 139 | {-ENOSR, "Buffer error (overrun)"}, |
140 | {-EPIPE, "Specified endpoint is stalled (device not responding)"}, | 140 | {-EPIPE, "Specified endpoint is stalled"}, |
141 | {-EOVERFLOW, "Babble (bad cable?)"}, | 141 | {-EOVERFLOW, "Babble (bad cable?)"}, |
142 | {-EPROTO, "Bit-stuff error (bad cable?)"}, | 142 | {-EPROTO, "Bit-stuff error (bad cable?)"}, |
143 | {-EILSEQ, "CRC/Timeout"}, | 143 | {-EILSEQ, "CRC or missing token"}, |
144 | {-ETIMEDOUT, "NAK (device does not respond)"}, | 144 | {-ETIME, "Device did not respond"}, |
145 | {-ESHUTDOWN, "Device unplugged"}, | 145 | {-ESHUTDOWN, "Device unplugged"}, |
146 | {-1, NULL} | 146 | {-1, NULL} |
147 | }; | 147 | }; |
diff --git a/drivers/media/dvb/dvb-usb/dvb-usb-urb.c b/drivers/media/dvb/dvb-usb/dvb-usb-urb.c index 9002f35aa952..88b283731bb8 100644 --- a/drivers/media/dvb/dvb-usb/dvb-usb-urb.c +++ b/drivers/media/dvb/dvb-usb/dvb-usb-urb.c | |||
@@ -80,7 +80,6 @@ static void dvb_usb_urb_complete(struct urb *urb, struct pt_regs *ptregs) | |||
80 | 80 | ||
81 | switch (urb->status) { | 81 | switch (urb->status) { |
82 | case 0: /* success */ | 82 | case 0: /* success */ |
83 | case -ETIMEDOUT: /* NAK */ | ||
84 | break; | 83 | break; |
85 | case -ECONNRESET: /* kill */ | 84 | case -ECONNRESET: /* kill */ |
86 | case -ENOENT: | 85 | case -ENOENT: |
diff --git a/drivers/media/dvb/ttusb-dec/ttusb_dec.c b/drivers/media/dvb/ttusb-dec/ttusb_dec.c index 6c1cb770bcf5..c9d663549dff 100644 --- a/drivers/media/dvb/ttusb-dec/ttusb_dec.c +++ b/drivers/media/dvb/ttusb-dec/ttusb_dec.c | |||
@@ -215,7 +215,7 @@ static void ttusb_dec_handle_irq( struct urb *urb, struct pt_regs *regs) | |||
215 | case -ECONNRESET: | 215 | case -ECONNRESET: |
216 | case -ENOENT: | 216 | case -ENOENT: |
217 | case -ESHUTDOWN: | 217 | case -ESHUTDOWN: |
218 | case -ETIMEDOUT: | 218 | case -ETIME: |
219 | /* this urb is dead, cleanup */ | 219 | /* this urb is dead, cleanup */ |
220 | dprintk("%s:urb shutting down with status: %d\n", | 220 | dprintk("%s:urb shutting down with status: %d\n", |
221 | __FUNCTION__, urb->status); | 221 | __FUNCTION__, urb->status); |
diff --git a/drivers/media/video/ov511.c b/drivers/media/video/ov511.c index 1b07a61c2ebb..5d8cd283fcd8 100644 --- a/drivers/media/video/ov511.c +++ b/drivers/media/video/ov511.c | |||
@@ -301,10 +301,11 @@ static struct symbolic_list senlist[] = { | |||
301 | static struct symbolic_list urb_errlist[] = { | 301 | static struct symbolic_list urb_errlist[] = { |
302 | { -ENOSR, "Buffer error (overrun)" }, | 302 | { -ENOSR, "Buffer error (overrun)" }, |
303 | { -EPIPE, "Stalled (device not responding)" }, | 303 | { -EPIPE, "Stalled (device not responding)" }, |
304 | { -EOVERFLOW, "Babble (bad cable?)" }, | 304 | { -EOVERFLOW, "Babble (device sends too much data)" }, |
305 | { -EPROTO, "Bit-stuff error (bad cable?)" }, | 305 | { -EPROTO, "Bit-stuff error (bad cable?)" }, |
306 | { -EILSEQ, "CRC/Timeout" }, | 306 | { -EILSEQ, "CRC/Timeout (bad cable?)" }, |
307 | { -ETIMEDOUT, "NAK (device does not respond)" }, | 307 | { -ETIME, "Device does not respond to token" }, |
308 | { -ETIMEDOUT, "Device does not respond to command" }, | ||
308 | { -1, NULL } | 309 | { -1, NULL } |
309 | }; | 310 | }; |
310 | 311 | ||
diff --git a/drivers/media/video/pwc/pwc-if.c b/drivers/media/video/pwc/pwc-if.c index d4703944df9c..53c4b5790d5c 100644 --- a/drivers/media/video/pwc/pwc-if.c +++ b/drivers/media/video/pwc/pwc-if.c | |||
@@ -711,7 +711,7 @@ static void pwc_isoc_handler(struct urb *urb, struct pt_regs *regs) | |||
711 | case -EOVERFLOW: errmsg = "Babble (bad cable?)"; break; | 711 | case -EOVERFLOW: errmsg = "Babble (bad cable?)"; break; |
712 | case -EPROTO: errmsg = "Bit-stuff error (bad cable?)"; break; | 712 | case -EPROTO: errmsg = "Bit-stuff error (bad cable?)"; break; |
713 | case -EILSEQ: errmsg = "CRC/Timeout (could be anything)"; break; | 713 | case -EILSEQ: errmsg = "CRC/Timeout (could be anything)"; break; |
714 | case -ETIMEDOUT: errmsg = "NAK (device does not respond)"; break; | 714 | case -ETIME: errmsg = "Device does not respond"; break; |
715 | } | 715 | } |
716 | PWC_DEBUG_FLOW("pwc_isoc_handler() called with status %d [%s].\n", urb->status, errmsg); | 716 | PWC_DEBUG_FLOW("pwc_isoc_handler() called with status %d [%s].\n", urb->status, errmsg); |
717 | /* Give up after a number of contiguous errors on the USB bus. | 717 | /* Give up after a number of contiguous errors on the USB bus. |
diff --git a/drivers/media/video/w9968cf.c b/drivers/media/video/w9968cf.c index 20f211b55ad4..2912326a5aef 100644 --- a/drivers/media/video/w9968cf.c +++ b/drivers/media/video/w9968cf.c | |||
@@ -586,15 +586,14 @@ static struct w9968cf_symbolic_list urb_errlist[] = { | |||
586 | { -EFBIG, "Too much ISO frames requested" }, | 586 | { -EFBIG, "Too much ISO frames requested" }, |
587 | { -ENOSR, "Buffer error (overrun)" }, | 587 | { -ENOSR, "Buffer error (overrun)" }, |
588 | { -EPIPE, "Specified endpoint is stalled (device not responding)"}, | 588 | { -EPIPE, "Specified endpoint is stalled (device not responding)"}, |
589 | { -EOVERFLOW, "Babble (bad cable?)" }, | 589 | { -EOVERFLOW, "Babble (too much data)" }, |
590 | { -EPROTO, "Bit-stuff error (bad cable?)" }, | 590 | { -EPROTO, "Bit-stuff error (bad cable?)" }, |
591 | { -EILSEQ, "CRC/Timeout" }, | 591 | { -EILSEQ, "CRC/Timeout" }, |
592 | { -ETIMEDOUT, "NAK (device does not respond)" }, | 592 | { -ETIME, "Device does not respond to token" }, |
593 | { -ETIMEDOUT, "Device does not respond to command" }, | ||
593 | { -1, NULL } | 594 | { -1, NULL } |
594 | }; | 595 | }; |
595 | 596 | ||
596 | |||
597 | |||
598 | /**************************************************************************** | 597 | /**************************************************************************** |
599 | * Memory management functions * | 598 | * Memory management functions * |
600 | ****************************************************************************/ | 599 | ****************************************************************************/ |
diff --git a/drivers/net/irda/irda-usb.c b/drivers/net/irda/irda-usb.c index 2a0d538b387f..383cef1f5999 100644 --- a/drivers/net/irda/irda-usb.c +++ b/drivers/net/irda/irda-usb.c | |||
@@ -671,10 +671,8 @@ static void irda_usb_net_timeout(struct net_device *netdev) | |||
671 | * Jean II */ | 671 | * Jean II */ |
672 | done = 1; | 672 | done = 1; |
673 | break; | 673 | break; |
674 | case -ECONNABORTED: /* -103 */ | 674 | case -ECONNRESET: |
675 | case -ECONNRESET: /* -104 */ | 675 | case -ENOENT: /* urb unlinked by us */ |
676 | case -ETIMEDOUT: /* -110 */ | ||
677 | case -ENOENT: /* -2 (urb unlinked by us) */ | ||
678 | default: /* ??? - Play safe */ | 676 | default: /* ??? - Play safe */ |
679 | urb->status = 0; | 677 | urb->status = 0; |
680 | netif_wake_queue(self->netdev); | 678 | netif_wake_queue(self->netdev); |
@@ -712,10 +710,8 @@ static void irda_usb_net_timeout(struct net_device *netdev) | |||
712 | * Jean II */ | 710 | * Jean II */ |
713 | done = 1; | 711 | done = 1; |
714 | break; | 712 | break; |
715 | case -ECONNABORTED: /* -103 */ | 713 | case -ECONNRESET: |
716 | case -ECONNRESET: /* -104 */ | 714 | case -ENOENT: /* urb unlinked by us */ |
717 | case -ETIMEDOUT: /* -110 */ | ||
718 | case -ENOENT: /* -2 (urb unlinked by us) */ | ||
719 | default: /* ??? - Play safe */ | 715 | default: /* ??? - Play safe */ |
720 | if(skb != NULL) { | 716 | if(skb != NULL) { |
721 | dev_kfree_skb_any(skb); | 717 | dev_kfree_skb_any(skb); |
@@ -845,14 +841,14 @@ static void irda_usb_receive(struct urb *urb, struct pt_regs *regs) | |||
845 | self->stats.rx_crc_errors++; | 841 | self->stats.rx_crc_errors++; |
846 | /* Also precursor to a hot-unplug on UHCI. */ | 842 | /* Also precursor to a hot-unplug on UHCI. */ |
847 | /* Fallthrough... */ | 843 | /* Fallthrough... */ |
848 | case -ECONNRESET: /* -104 */ | 844 | case -ECONNRESET: |
849 | /* Random error, if I remember correctly */ | 845 | /* Random error, if I remember correctly */ |
850 | /* uhci_cleanup_unlink() is going to kill the Rx | 846 | /* uhci_cleanup_unlink() is going to kill the Rx |
851 | * URB just after we return. No problem, at this | 847 | * URB just after we return. No problem, at this |
852 | * point the URB will be idle ;-) - Jean II */ | 848 | * point the URB will be idle ;-) - Jean II */ |
853 | case -ESHUTDOWN: /* -108 */ | 849 | case -ESHUTDOWN: |
854 | /* That's usually a hot-unplug. Submit will fail... */ | 850 | /* That's usually a hot-unplug. Submit will fail... */ |
855 | case -ETIMEDOUT: /* -110 */ | 851 | case -ETIME: |
856 | /* Usually precursor to a hot-unplug on OHCI. */ | 852 | /* Usually precursor to a hot-unplug on OHCI. */ |
857 | default: | 853 | default: |
858 | self->stats.rx_errors++; | 854 | self->stats.rx_errors++; |
diff --git a/drivers/net/wireless/zd1201.c b/drivers/net/wireless/zd1201.c index c52e9bcf8d02..f50ec10675d1 100644 --- a/drivers/net/wireless/zd1201.c +++ b/drivers/net/wireless/zd1201.c | |||
@@ -119,7 +119,7 @@ static void zd1201_usbfree(struct urb *urb, struct pt_regs *regs) | |||
119 | switch(urb->status) { | 119 | switch(urb->status) { |
120 | case -EILSEQ: | 120 | case -EILSEQ: |
121 | case -ENODEV: | 121 | case -ENODEV: |
122 | case -ETIMEDOUT: | 122 | case -ETIME: |
123 | case -ENOENT: | 123 | case -ENOENT: |
124 | case -EPIPE: | 124 | case -EPIPE: |
125 | case -EOVERFLOW: | 125 | case -EOVERFLOW: |
@@ -201,7 +201,7 @@ static void zd1201_usbrx(struct urb *urb, struct pt_regs *regs) | |||
201 | switch(urb->status) { | 201 | switch(urb->status) { |
202 | case -EILSEQ: | 202 | case -EILSEQ: |
203 | case -ENODEV: | 203 | case -ENODEV: |
204 | case -ETIMEDOUT: | 204 | case -ETIME: |
205 | case -ENOENT: | 205 | case -ENOENT: |
206 | case -EPIPE: | 206 | case -EPIPE: |
207 | case -EOVERFLOW: | 207 | case -EOVERFLOW: |
diff --git a/drivers/usb/host/isp116x.h b/drivers/usb/host/isp116x.h index a1b7c3813d3a..b91e2edd9c5c 100644 --- a/drivers/usb/host/isp116x.h +++ b/drivers/usb/host/isp116x.h | |||
@@ -233,7 +233,7 @@ static const int cc_to_error[16] = { | |||
233 | /* Bit Stuff */ -EPROTO, | 233 | /* Bit Stuff */ -EPROTO, |
234 | /* Data Togg */ -EILSEQ, | 234 | /* Data Togg */ -EILSEQ, |
235 | /* Stall */ -EPIPE, | 235 | /* Stall */ -EPIPE, |
236 | /* DevNotResp */ -ETIMEDOUT, | 236 | /* DevNotResp */ -ETIME, |
237 | /* PIDCheck */ -EPROTO, | 237 | /* PIDCheck */ -EPROTO, |
238 | /* UnExpPID */ -EPROTO, | 238 | /* UnExpPID */ -EPROTO, |
239 | /* DataOver */ -EOVERFLOW, | 239 | /* DataOver */ -EOVERFLOW, |
diff --git a/drivers/usb/host/ohci.h b/drivers/usb/host/ohci.h index 650d1bf21c1d..93fdc3c35341 100644 --- a/drivers/usb/host/ohci.h +++ b/drivers/usb/host/ohci.h | |||
@@ -159,7 +159,7 @@ static const int cc_to_error [16] = { | |||
159 | /* Bit Stuff */ -EPROTO, | 159 | /* Bit Stuff */ -EPROTO, |
160 | /* Data Togg */ -EILSEQ, | 160 | /* Data Togg */ -EILSEQ, |
161 | /* Stall */ -EPIPE, | 161 | /* Stall */ -EPIPE, |
162 | /* DevNotResp */ -ETIMEDOUT, | 162 | /* DevNotResp */ -ETIME, |
163 | /* PIDCheck */ -EPROTO, | 163 | /* PIDCheck */ -EPROTO, |
164 | /* UnExpPID */ -EPROTO, | 164 | /* UnExpPID */ -EPROTO, |
165 | /* DataOver */ -EOVERFLOW, | 165 | /* DataOver */ -EOVERFLOW, |
diff --git a/drivers/usb/host/sl811-hcd.c b/drivers/usb/host/sl811-hcd.c index 8c17da37600b..3a586aab3939 100644 --- a/drivers/usb/host/sl811-hcd.c +++ b/drivers/usb/host/sl811-hcd.c | |||
@@ -597,7 +597,7 @@ done(struct sl811 *sl811, struct sl811h_ep *ep, u8 bank, struct pt_regs *regs) | |||
597 | /* error? retry, until "3 strikes" */ | 597 | /* error? retry, until "3 strikes" */ |
598 | } else if (++ep->error_count >= 3) { | 598 | } else if (++ep->error_count >= 3) { |
599 | if (status & SL11H_STATMASK_TMOUT) | 599 | if (status & SL11H_STATMASK_TMOUT) |
600 | urbstat = -ETIMEDOUT; | 600 | urbstat = -ETIME; |
601 | else if (status & SL11H_STATMASK_OVF) | 601 | else if (status & SL11H_STATMASK_OVF) |
602 | urbstat = -EOVERFLOW; | 602 | urbstat = -EOVERFLOW; |
603 | else | 603 | else |
diff --git a/drivers/usb/input/hid-core.c b/drivers/usb/input/hid-core.c index fc5b662ea177..2a3e9e9b4b3d 100644 --- a/drivers/usb/input/hid-core.c +++ b/drivers/usb/input/hid-core.c | |||
@@ -1023,7 +1023,8 @@ static void hid_irq_in(struct urb *urb, struct pt_regs *regs) | |||
1023 | return; | 1023 | return; |
1024 | case -EILSEQ: /* protocol error or unplug */ | 1024 | case -EILSEQ: /* protocol error or unplug */ |
1025 | case -EPROTO: /* protocol error or unplug */ | 1025 | case -EPROTO: /* protocol error or unplug */ |
1026 | case -ETIMEDOUT: /* NAK */ | 1026 | case -ETIME: /* protocol error or unplug */ |
1027 | case -ETIMEDOUT: /* Should never happen, but... */ | ||
1027 | clear_bit(HID_IN_RUNNING, &hid->iofl); | 1028 | clear_bit(HID_IN_RUNNING, &hid->iofl); |
1028 | hid_io_error(hid); | 1029 | hid_io_error(hid); |
1029 | return; | 1030 | return; |
diff --git a/drivers/usb/input/itmtouch.c b/drivers/usb/input/itmtouch.c index 86acb5f1907a..61966d719ca3 100644 --- a/drivers/usb/input/itmtouch.c +++ b/drivers/usb/input/itmtouch.c | |||
@@ -87,7 +87,7 @@ static void itmtouch_irq(struct urb *urb, struct pt_regs *regs) | |||
87 | case 0: | 87 | case 0: |
88 | /* success */ | 88 | /* success */ |
89 | break; | 89 | break; |
90 | case -ETIMEDOUT: | 90 | case -ETIME: |
91 | /* this urb is timing out */ | 91 | /* this urb is timing out */ |
92 | dbg("%s - urb timed out - was the device unplugged?", | 92 | dbg("%s - urb timed out - was the device unplugged?", |
93 | __FUNCTION__); | 93 | __FUNCTION__); |
diff --git a/drivers/usb/input/mtouchusb.c b/drivers/usb/input/mtouchusb.c index a9ccda8810e0..5dce951f2751 100644 --- a/drivers/usb/input/mtouchusb.c +++ b/drivers/usb/input/mtouchusb.c | |||
@@ -107,7 +107,7 @@ static void mtouchusb_irq(struct urb *urb, struct pt_regs *regs) | |||
107 | case 0: | 107 | case 0: |
108 | /* success */ | 108 | /* success */ |
109 | break; | 109 | break; |
110 | case -ETIMEDOUT: | 110 | case -ETIME: |
111 | /* this urb is timing out */ | 111 | /* this urb is timing out */ |
112 | dbg("%s - urb timed out - was the device unplugged?", | 112 | dbg("%s - urb timed out - was the device unplugged?", |
113 | __FUNCTION__); | 113 | __FUNCTION__); |
diff --git a/drivers/usb/input/touchkitusb.c b/drivers/usb/input/touchkitusb.c index 0149043ffb97..30b9f820e7a8 100644 --- a/drivers/usb/input/touchkitusb.c +++ b/drivers/usb/input/touchkitusb.c | |||
@@ -201,7 +201,7 @@ static void touchkit_irq(struct urb *urb, struct pt_regs *regs) | |||
201 | case 0: | 201 | case 0: |
202 | /* success */ | 202 | /* success */ |
203 | break; | 203 | break; |
204 | case -ETIMEDOUT: | 204 | case -ETIME: |
205 | /* this urb is timing out */ | 205 | /* this urb is timing out */ |
206 | dbg("%s - urb timed out - was the device unplugged?", | 206 | dbg("%s - urb timed out - was the device unplugged?", |
207 | __FUNCTION__); | 207 | __FUNCTION__); |
diff --git a/drivers/usb/input/usbtouchscreen.c b/drivers/usb/input/usbtouchscreen.c index a1be7840ea02..4640d1000d83 100644 --- a/drivers/usb/input/usbtouchscreen.c +++ b/drivers/usb/input/usbtouchscreen.c | |||
@@ -508,7 +508,7 @@ static void usbtouch_irq(struct urb *urb, struct pt_regs *regs) | |||
508 | case 0: | 508 | case 0: |
509 | /* success */ | 509 | /* success */ |
510 | break; | 510 | break; |
511 | case -ETIMEDOUT: | 511 | case -ETIME: |
512 | /* this urb is timing out */ | 512 | /* this urb is timing out */ |
513 | dbg("%s - urb timed out - was the device unplugged?", | 513 | dbg("%s - urb timed out - was the device unplugged?", |
514 | __FUNCTION__); | 514 | __FUNCTION__); |
diff --git a/drivers/usb/misc/auerswald.c b/drivers/usb/misc/auerswald.c index 4a329d8488b7..4fd2110b3411 100644 --- a/drivers/usb/misc/auerswald.c +++ b/drivers/usb/misc/auerswald.c | |||
@@ -806,7 +806,7 @@ static void auerbuf_releasebuf( pauerbuf_t bp) | |||
806 | 0 Initial, OK | 806 | 0 Initial, OK |
807 | -EINPROGRESS during submission until end | 807 | -EINPROGRESS during submission until end |
808 | -ENOENT if urb is unlinked | 808 | -ENOENT if urb is unlinked |
809 | -ETIMEDOUT Transfer timed out, NAK | 809 | -ETIME Device did not respond |
810 | -ENOMEM Memory Overflow | 810 | -ENOMEM Memory Overflow |
811 | -ENODEV Specified USB-device or bus doesn't exist | 811 | -ENODEV Specified USB-device or bus doesn't exist |
812 | -ENXIO URB already queued | 812 | -ENXIO URB already queued |
@@ -832,7 +832,7 @@ static int auerswald_status_retry (int status) | |||
832 | { | 832 | { |
833 | switch (status) { | 833 | switch (status) { |
834 | case 0: | 834 | case 0: |
835 | case -ETIMEDOUT: | 835 | case -ETIME: |
836 | case -EOVERFLOW: | 836 | case -EOVERFLOW: |
837 | case -EAGAIN: | 837 | case -EAGAIN: |
838 | case -EPIPE: | 838 | case -EPIPE: |
diff --git a/drivers/usb/net/pegasus.c b/drivers/usb/net/pegasus.c index ab21f960d255..b8e25af13f02 100644 --- a/drivers/usb/net/pegasus.c +++ b/drivers/usb/net/pegasus.c | |||
@@ -619,7 +619,7 @@ static void read_bulk_callback(struct urb *urb, struct pt_regs *regs) | |||
619 | switch (urb->status) { | 619 | switch (urb->status) { |
620 | case 0: | 620 | case 0: |
621 | break; | 621 | break; |
622 | case -ETIMEDOUT: | 622 | case -ETIME: |
623 | if (netif_msg_rx_err(pegasus)) | 623 | if (netif_msg_rx_err(pegasus)) |
624 | pr_debug("%s: reset MAC\n", net->name); | 624 | pr_debug("%s: reset MAC\n", net->name); |
625 | pegasus->flags &= ~PEGASUS_RX_BUSY; | 625 | pegasus->flags &= ~PEGASUS_RX_BUSY; |
diff --git a/drivers/usb/net/rtl8150.c b/drivers/usb/net/rtl8150.c index a72685b96061..2364c2099387 100644 --- a/drivers/usb/net/rtl8150.c +++ b/drivers/usb/net/rtl8150.c | |||
@@ -438,7 +438,7 @@ static void read_bulk_callback(struct urb *urb, struct pt_regs *regs) | |||
438 | break; | 438 | break; |
439 | case -ENOENT: | 439 | case -ENOENT: |
440 | return; /* the urb is in unlink state */ | 440 | return; /* the urb is in unlink state */ |
441 | case -ETIMEDOUT: | 441 | case -ETIME: |
442 | warn("may be reset is needed?.."); | 442 | warn("may be reset is needed?.."); |
443 | goto goon; | 443 | goto goon; |
444 | default: | 444 | default: |
diff --git a/drivers/usb/net/usbnet.c b/drivers/usb/net/usbnet.c index 8e8e74d40530..98a522f1e264 100644 --- a/drivers/usb/net/usbnet.c +++ b/drivers/usb/net/usbnet.c | |||
@@ -425,9 +425,9 @@ static void rx_complete (struct urb *urb, struct pt_regs *regs) | |||
425 | // we get controller i/o faults during khubd disconnect() delays. | 425 | // we get controller i/o faults during khubd disconnect() delays. |
426 | // throttle down resubmits, to avoid log floods; just temporarily, | 426 | // throttle down resubmits, to avoid log floods; just temporarily, |
427 | // so we still recover when the fault isn't a khubd delay. | 427 | // so we still recover when the fault isn't a khubd delay. |
428 | case -EPROTO: // ehci | 428 | case -EPROTO: |
429 | case -ETIMEDOUT: // ohci | 429 | case -ETIME: |
430 | case -EILSEQ: // uhci | 430 | case -EILSEQ: |
431 | dev->stats.rx_errors++; | 431 | dev->stats.rx_errors++; |
432 | if (!timer_pending (&dev->delay)) { | 432 | if (!timer_pending (&dev->delay)) { |
433 | mod_timer (&dev->delay, jiffies + THROTTLE_JIFFIES); | 433 | mod_timer (&dev->delay, jiffies + THROTTLE_JIFFIES); |
@@ -821,9 +821,9 @@ static void tx_complete (struct urb *urb, struct pt_regs *regs) | |||
821 | 821 | ||
822 | // like rx, tx gets controller i/o faults during khubd delays | 822 | // like rx, tx gets controller i/o faults during khubd delays |
823 | // and so it uses the same throttling mechanism. | 823 | // and so it uses the same throttling mechanism. |
824 | case -EPROTO: // ehci | 824 | case -EPROTO: |
825 | case -ETIMEDOUT: // ohci | 825 | case -ETIME: |
826 | case -EILSEQ: // uhci | 826 | case -EILSEQ: |
827 | if (!timer_pending (&dev->delay)) { | 827 | if (!timer_pending (&dev->delay)) { |
828 | mod_timer (&dev->delay, | 828 | mod_timer (&dev->delay, |
829 | jiffies + THROTTLE_JIFFIES); | 829 | jiffies + THROTTLE_JIFFIES); |
diff --git a/drivers/usb/storage/transport.c b/drivers/usb/storage/transport.c index d6acc92a4ae3..f23514c4e649 100644 --- a/drivers/usb/storage/transport.c +++ b/drivers/usb/storage/transport.c | |||
@@ -294,11 +294,6 @@ static int interpret_urb_result(struct us_data *us, unsigned int pipe, | |||
294 | return USB_STOR_XFER_ERROR; | 294 | return USB_STOR_XFER_ERROR; |
295 | return USB_STOR_XFER_STALLED; | 295 | return USB_STOR_XFER_STALLED; |
296 | 296 | ||
297 | /* timeout or excessively long NAK */ | ||
298 | case -ETIMEDOUT: | ||
299 | US_DEBUGP("-- timeout or NAK\n"); | ||
300 | return USB_STOR_XFER_ERROR; | ||
301 | |||
302 | /* babble - the device tried to send more than we wanted to read */ | 297 | /* babble - the device tried to send more than we wanted to read */ |
303 | case -EOVERFLOW: | 298 | case -EOVERFLOW: |
304 | US_DEBUGP("-- babble\n"); | 299 | US_DEBUGP("-- babble\n"); |
diff --git a/sound/usb/usbmidi.c b/sound/usb/usbmidi.c index 5105b6b05748..abe29dadd979 100644 --- a/sound/usb/usbmidi.c +++ b/sound/usb/usbmidi.c | |||
@@ -181,9 +181,9 @@ static int snd_usbmidi_urb_error(int status) | |||
181 | case -ENODEV: | 181 | case -ENODEV: |
182 | return -ENODEV; | 182 | return -ENODEV; |
183 | /* errors that might occur during unplugging */ | 183 | /* errors that might occur during unplugging */ |
184 | case -EPROTO: /* EHCI */ | 184 | case -EPROTO: |
185 | case -ETIMEDOUT: /* OHCI */ | 185 | case -ETIME: |
186 | case -EILSEQ: /* UHCI */ | 186 | case -EILSEQ: |
187 | return -EIO; | 187 | return -EIO; |
188 | default: | 188 | default: |
189 | snd_printk(KERN_ERR "urb status %d\n", status); | 189 | snd_printk(KERN_ERR "urb status %d\n", status); |