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 /drivers/usb/host | |
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>
Diffstat (limited to 'drivers/usb/host')
-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 |
3 files changed, 3 insertions, 3 deletions
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 |