static void ax88772_suspend(struct usbnet *dev)
{
+ struct asix_common_private *priv = dev->driver_priv;
u16 medium;
+ if (netif_running(dev->net)) {
+ rtnl_lock();
+ phylink_suspend(priv->phylink, false);
+ rtnl_unlock();
+ }
+
/* Stop MAC operation */
medium = asix_read_medium_status(dev, 1);
medium &= ~AX_MEDIUM_RE;
for (i = 0; i < 3; i++)
if (!priv->reset(dev, 1))
break;
+
+ if (netif_running(dev->net)) {
+ rtnl_lock();
+ phylink_resume(priv->phylink);
+ rtnl_unlock();
+ }
}
static int asix_resume(struct usb_interface *intf)