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

Reply via email to