• Don Zickus's avatar
    HID: usbhid: Fix the check for HID_RESET_PENDING in hid_io_error · 26db2c34
    Don Zickus authored
    commit 3af4e5a9 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: default avatarDon Zickus <dzickus@redhat.com>
    Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
    Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
    26db2c34
hid-core.c 43.8 KB