On Do, 2018-11-15 at 18:14 +0100, Nicolas Saenz Julienne wrote: Hi,
what Alan said, in addition you need to stop the error handling
when the device is suspended or reset.
> @@ -713,8 +751,10 @@ static void hub_irq(struct urb *urb)
> return;
>
> status = usb_submit_urb(hub->urb, GFP_ATOMIC);
> - if (status != 0 && status != -ENODEV && status != -EPERM)
> + if (status != 0 && status != -ENODEV && status != -EPERM) {
This also needs to check for -ESHUTDOWN
Regards
Oliver

