linux/drivers/hid/usbhid
Don Zickus 3e1ed32743 HID: usbhid: Fix the check for HID_RESET_PENDING in hid_io_error
commit 3af4e5a951 upstream.

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@redhat.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2015-09-21 10:05:40 -07:00
..
hid-core.c HID: usbhid: Fix the check for HID_RESET_PENDING in hid_io_error 2015-09-21 10:05:40 -07:00
hid-pidff.c HID: pidff: effect can't be NULL 2015-03-27 16:03:26 +01:00
hid-quirks.c HID: usbhid: Add HID_QUIRK_NOGET for Aten DVI KVM switch 2015-05-13 13:24:19 +02:00
hiddev.c HID: use hid_hw_wait() instead of direct call to usbhid 2013-02-25 13:26:41 +01:00
Kconfig HID: Fix the generic Kconfig options 2012-06-25 17:25:00 +02:00
Makefile HID: Use Kbuild idiom in Makefiles 2015-01-21 22:23:20 +01:00
usbhid.h HID: usbhid: prevent unwanted events to be sent when re-opening the device 2014-10-29 11:04:54 +01:00
usbkbd.c HID: usbkbd: fix inconsistent debugging output 2013-11-19 11:32:04 +01:00
usbmouse.c USB: usbmouse.c: remove err() usage 2012-04-25 14:48:20 -07:00