I find the aliasing of -110 for upper-level timeouts and the loss of
token unfortunate and pointless. I would prefer to be able to distinguish
these situation when reading user-submitted dmesg outputs.
I looked at the way we handle those errors, and it seems like there
isn't going to be much harm from letting it to fall through on the
default handling. I only tuned HID because that thing was historically
sensitive.
What do you think?
-- Pete
diff -urp -X dontdiff linux-2.6.18-rc1/Documentation/usb/error-codes.txt
linux-2.6.18-rc1-lem/Documentation/usb/error-codes.txt
--- linux-2.6.18-rc1/Documentation/usb/error-codes.txt 2006-01-03
20:02:53.000000000 -0800
+++ linux-2.6.18-rc1-lem/Documentation/usb/error-codes.txt 2006-07-25
12:56:52.000000000 -0700
@@ -98,13 +98,13 @@ one or more packets could finish before
error, a failure to respond (often caused by
device disconnect), or some other fault.
--ETIMEDOUT (**) No response packet received within the
prescribed
+-ETIME (**) No response packet received within the prescribed
bus turn-around time. This error may instead be
reported as -EPROTO or -EILSEQ.
- Note that the synchronous USB message functions
- also use this code to indicate timeout expired
- before the transfer completed.
+-ETIMEDOUT Synchronous USB message functions use this code
+ to indicate timeout expired before the transfer
+ completed.
-EPIPE (**) Endpoint stalled. For non-control endpoints,
reset this status with usb_clear_halt().
diff -urp -X dontdiff linux-2.6.18-rc1/drivers/usb/host/isp116x.h
linux-2.6.18-rc1-lem/drivers/usb/host/isp116x.h
--- linux-2.6.18-rc1/drivers/usb/host/isp116x.h 2006-03-27 07:45:22.000000000
-0800
+++ linux-2.6.18-rc1-lem/drivers/usb/host/isp116x.h 2006-07-25
12:48:39.000000000 -0700
@@ -233,7 +233,7 @@ static const int cc_to_error[16] = {
/* Bit Stuff */ -EPROTO,
/* Data Togg */ -EILSEQ,
/* Stall */ -EPIPE,
- /* DevNotResp */ -ETIMEDOUT,
+ /* DevNotResp */ -ETIME,
/* PIDCheck */ -EPROTO,
/* UnExpPID */ -EPROTO,
/* DataOver */ -EOVERFLOW,
diff -urp -X dontdiff linux-2.6.18-rc1/drivers/usb/host/ohci.h
linux-2.6.18-rc1-lem/drivers/usb/host/ohci.h
--- linux-2.6.18-rc1/drivers/usb/host/ohci.h 2006-01-03 20:03:35.000000000
-0800
+++ linux-2.6.18-rc1-lem/drivers/usb/host/ohci.h 2006-07-25
12:48:12.000000000 -0700
@@ -159,7 +159,7 @@ static const int cc_to_error [16] = {
/* Bit Stuff */ -EPROTO,
/* Data Togg */ -EILSEQ,
/* Stall */ -EPIPE,
- /* DevNotResp */ -ETIMEDOUT,
+ /* DevNotResp */ -ETIME,
/* PIDCheck */ -EPROTO,
/* UnExpPID */ -EPROTO,
/* DataOver */ -EOVERFLOW,
diff -urp -X dontdiff linux-2.6.18-rc1/drivers/usb/input/hid-core.c
linux-2.6.18-rc1-lem/drivers/usb/input/hid-core.c
--- linux-2.6.18-rc1/drivers/usb/input/hid-core.c 2006-07-09
17:54:36.000000000 -0700
+++ linux-2.6.18-rc1-lem/drivers/usb/input/hid-core.c 2006-07-25
12:57:51.000000000 -0700
@@ -1023,6 +1023,7 @@ static void hid_irq_in(struct urb *urb,
return;
case -EILSEQ: /* protocol error or unplug */
case -EPROTO: /* protocol error or unplug */
+ case -ETIME: /* protocol error or unplug */
case -ETIMEDOUT: /* NAK */
clear_bit(HID_IN_RUNNING, &hid->iofl);
hid_io_error(hid);
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel