On Mon, 14 Aug 2006 22:08:50 -0700, David Brownell <[EMAIL PROTECTED]> wrote:
> I'm rather surprised you mention HID as getting much attention; it's
> always seemed to me to be pretty much of an orphan, lucky to get
> the occasional critical bugfix.
That was mostly because of hid_io_error(), which I think was a good
progress, despite using our hideous reset scheme.
BTW, I'm thinking about this:
diff -urp -X dontdiff linux-2.6.18-rc1/drivers/usb/input/hid-core.c
linux-2.6.18-rc1-u/drivers/usb/input/hid-core.c
--- linux-2.6.18-rc1/drivers/usb/input/hid-core.c 2006-07-09
11:40:47.000000000 -0700
+++ linux-2.6.18-rc1-u/drivers/usb/input/hid-core.c 2006-07-29
14:56:29.000000000 -0700
@@ -1027,6 +1027,19 @@ static void hid_irq_in(struct urb *urb,
clear_bit(HID_IN_RUNNING, &hid->iofl);
hid_io_error(hid);
return;
+ case -EOVERFLOW:
+ if (urb->transfer_buffer_length == hid->bufsize) {
+ /*
+ * Persistent babble is a bad news. Most likely,
+ * we will loop trying to reset the device.
+ * But at least the box won't keel over.
+ */
+ clear_bit(HID_IN_RUNNING, &hid->iofl);
+ hid_io_error(hid);
+ return;
+ }
+ urb->transfer_buffer_length = hid->bufsize;
+ break;
default: /* error */
warn("input irq status %d received", urb->status);
}
The symptom is that Microsoft Natural keyboard loves to enter an
endless loop with -75. I suspect that it somehow pipelines its
reports. If we delay fetching one, the two get stuck together and
bubble forever.
The problem is, I can't find anyone willing to test this. They all
appear, complain, disappear.
-- Pete
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel