aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/net/usbnet.c
diff options
context:
space:
mode:
authorPete Zaitcev <zaitcev@redhat.com>2006-09-19 01:49:02 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2006-09-27 14:59:00 -0400
commit38e2bfc94e95dd6005fdaf40dfec0157396741da (patch)
tree1cc927239e3369ec7ce4920b1347dd8bc504bb2d /drivers/usb/net/usbnet.c
parentec17cf1cfe0b557210b27313bd584e9b5187d4ca (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>
Diffstat (limited to 'drivers/usb/net/usbnet.c')
-rw-r--r--drivers/usb/net/usbnet.c12
1 files changed, 6 insertions, 6 deletions
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);