Re: [PATCH RESEND] usbhid: Fix the check for HID_RESET_PENDING in hid_io_error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux