Upgrade to 4.4.50-rt62
[kvmfornfv.git] / kernel / drivers / net / usb / usbnet.c
index 0744bf2..c2ea4e5 100644 (file)
@@ -1766,6 +1766,13 @@ out3:
        if (info->unbind)
                info->unbind (dev, udev);
 out1:
+       /* subdrivers must undo all they did in bind() if they
+        * fail it, but we may fail later and a deferred kevent
+        * may trigger an error resubmitting itself and, worse,
+        * schedule a timer. So we kill it all just in case.
+        */
+       cancel_work_sync(&dev->kevent);
+       del_timer_sync(&dev->delay);
        free_netdev(net);
 out:
        return status;