Commit 63a79655 authored by Paolo Abeni's avatar Paolo Abeni
Browse files

Revert "net: usb: asix: ax88772: drop phylink use in PM to avoid MDIO runtime PM wakeups"

This reverts commit 5537a467 ("net: usb: asix: ax88772: drop
phylink use in PM to avoid MDIO runtime PM wakeups"), it breaks
operation of asix ethernet usb dongle after system suspend-resume
cycle.

Link: https://lore.kernel.org/all/b5ea8296-f981-445d-a09a-2f389d7f6fdd@samsung.com/


Fixes: 5537a467 ("net: usb: asix: ax88772: drop phylink use in PM to avoid MDIO runtime PM wakeups")
Reported-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
Acked-by: default avatarJakub Kicinski <kuba@kernel.org>
Link: https://patch.msgid.link/2945b9dbadb8ee1fee058b19554a5cb14f1763c1.1757601118.git.pabeni@redhat.com


Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent 62e1de1d
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -607,8 +607,15 @@ static const struct net_device_ops ax88772_netdev_ops = {

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;
@@ -637,6 +644,12 @@ static void ax88772_resume(struct usbnet *dev)
	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)