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 _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel