From: Robert Marko Date: Thu, 8 Oct 2020 10:19:05 +0000 (+0200) Subject: ipq40xx: net: ethernet: edma: fix link detection X-Git-Tag: v21.02.0-rc1~715 X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=053c3d8e0b1b8d9371df8d989942243e9839acf0;p=openwrt%2Fstaging%2Fhauke.git ipq40xx: net: ethernet: edma: fix link detection PHY needs to be soft reset before starting it from ethernet driver as AR40xx calibration will leave it in unwanted state. Signed-off-by: Robert Marko --- diff --git a/target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/edma.c b/target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/edma.c index 5f2630ae50..ecbc946de9 100644 --- a/target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/edma.c +++ b/target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/edma.c @@ -2023,6 +2023,10 @@ int edma_open(struct net_device *netdev) */ if (adapter->poll_required) { if (!IS_ERR(adapter->phydev)) { + /* AR40xx calibration will leave the PHY in unwanted state, + * so a soft reset is required before phy_start() + */ + genphy_soft_reset(adapter->phydev); phy_start(adapter->phydev); phy_start_aneg(adapter->phydev); adapter->link_state = __EDMA_LINKDOWN;