Bump. :-) On Mon, Aug 10, 2015 at 12:06:53PM -0400, Don Zickus wrote: > It was reported that after 10-20 reboots, a usb keyboard plugged > into a docking station would not work unless it was replugged in. > > Using usbmon, it turns out the interrupt URBs were streaming with > callback errors of -71 for some reason. The hid-core.c::hid_io_error was > supposed to retry and then reset, but the reset wasn't really happening. > > The check for HID_NO_BANDWIDTH was inverted. Fix was simple. > > Tested by reporter and locally by me by unplugging a keyboard halfway until I > could recreate a stream of errors but no disconnect. > > Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx> > --- > > I mistyped the usb mailing list address, so this patch never made it there. > Resending with the correct address. Sorry for the spam. > > > > drivers/hid/usbhid/hid-core.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c > index b37d944..9935a64 100644 > --- a/drivers/hid/usbhid/hid-core.c > +++ b/drivers/hid/usbhid/hid-core.c > @@ -164,7 +164,7 @@ static void hid_io_error(struct hid_device *hid) > if (time_after(jiffies, usbhid->stop_retry)) { > > /* Retries failed, so do a port reset unless we lack bandwidth*/ > - if (test_bit(HID_NO_BANDWIDTH, &usbhid->iofl) > + if (!test_bit(HID_NO_BANDWIDTH, &usbhid->iofl) > && !test_and_set_bit(HID_RESET_PENDING, &usbhid->iofl)) { > > schedule_work(&usbhid->reset_work); > -- > 1.8.4 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-usb" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html