net: fec: use mac-managed PHY PM
authorHeiner Kallweit <hkallweit1@gmail.com>
Wed, 7 Apr 2021 15:52:45 +0000 (17:52 +0200)
committerJakub Kicinski <kuba@kernel.org>
Fri, 9 Apr 2021 23:37:04 +0000 (16:37 -0700)
Use the new mac_managed_pm flag to work around an issue with KSZ8081 PHY
that becomes unstable when a soft reset is triggered during aneg.

Reported-by: Joakim Zhang <qiangqing.zhang@nxp.com>
Tested-by: Joakim Zhang <qiangqing.zhang@nxp.com>
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/freescale/fec_main.c

index 3db8823..70aea9c 100644 (file)
@@ -2048,6 +2048,8 @@ static int fec_enet_mii_probe(struct net_device *ndev)
        fep->link = 0;
        fep->full_duplex = 0;
 
+       phy_dev->mac_managed_pm = 1;
+
        phy_attached_info(phy_dev);
 
        return 0;
@@ -3864,6 +3866,7 @@ static int __maybe_unused fec_resume(struct device *dev)
                netif_device_attach(ndev);
                netif_tx_unlock_bh(ndev);
                napi_enable(&fep->napi);
+               phy_init_hw(ndev->phydev);
                phy_start(ndev->phydev);
        }
        rtnl_unlock();