]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/net/usb/usbnet.c
cdc_subset: deal with a device that needs reset for timeout
[karo-tx-linux.git] / drivers / net / usb / usbnet.c
index f9e96c4275589ebc63b3d87432fe50471c287872..5173821a9575e4131f9b45ceef41c9c1eda52cfd 100644 (file)
@@ -1218,8 +1218,12 @@ void usbnet_tx_timeout (struct net_device *net)
 
        unlink_urbs (dev, &dev->txq);
        tasklet_schedule (&dev->bh);
-
-       // FIXME: device recovery -- reset?
+       /* this needs to be handled individually because the generic layer
+        * doesn't know what is sufficient and could not restore private
+        * information if a remedy of an unconditional reset were used.
+        */
+       if (dev->driver_info->recover)
+               (dev->driver_info->recover)(dev);
 }
 EXPORT_SYMBOL_GPL(usbnet_tx_timeout);