|
@@ -1598,6 +1598,8 @@ static int smsc95xx_suspend(struct usb_interface *intf, pm_message_t message)
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
+ cancel_delayed_work_sync(&pdata->carrier_check);
|
|
|
+
|
|
|
if (pdata->suspend_flags) {
|
|
|
netdev_warn(dev->net, "error during last resume\n");
|
|
|
pdata->suspend_flags = 0;
|
|
@@ -1840,6 +1842,11 @@ done:
|
|
|
*/
|
|
|
if (ret && PMSG_IS_AUTO(message))
|
|
|
usbnet_resume(intf);
|
|
|
+
|
|
|
+ if (ret)
|
|
|
+ schedule_delayed_work(&pdata->carrier_check,
|
|
|
+ CARRIER_CHECK_DELAY);
|
|
|
+
|
|
|
return ret;
|
|
|
}
|
|
|
|