diff options
author | Robert Marko <robert.marko@sartura.hr> | 2020-10-08 12:19:05 +0200 |
---|---|---|
committer | Petr Štetiar <ynezz@true.cz> | 2020-12-23 16:36:08 +0100 |
commit | 053c3d8e0b1b8d9371df8d989942243e9839acf0 (patch) | |
tree | 665c7843f10c6eb8ec7c3e050cd7b2ab4aef28f6 /target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm | |
parent | 26b1f72381fbf96102c2c7c44a929881c70b15b9 (diff) | |
download | upstream-053c3d8e0b1b8d9371df8d989942243e9839acf0.tar.gz upstream-053c3d8e0b1b8d9371df8d989942243e9839acf0.tar.bz2 upstream-053c3d8e0b1b8d9371df8d989942243e9839acf0.zip |
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 <robert.marko@sartura.hr>
Diffstat (limited to 'target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm')
-rw-r--r-- | target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/edma.c | 4 |
1 files changed, 4 insertions, 0 deletions
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; |