diff options
author | David S. Miller <davem@davemloft.net> | 2019-02-20 20:19:01 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-02-20 20:19:01 -0800 |
commit | 3468ea4c25ba6fa52960d9b2e2647140be3018cc (patch) | |
tree | e4f70aae638d9b2b61bdbba5ed24e5ddc7e8acd9 | |
parent | 8e4c076ef2c35d1d2224e843cc4c0c499b710ef0 (diff) | |
parent | 30de65c3d5a3559abc80d4b508c646438c06790c (diff) |
Merge branch 'net-phy-disable-aneg-in-genphy_c45_pma_setup_forced'
Heiner Kallweit says:
====================
net: phy: disable aneg in genphy_c45_pma_setup_forced
When genphy_c45_pma_setup_forced() is called the "aneg enabled" bit
may still be set, therefore clear it. This is also in line with what
genphy_setup_forced() does for Clause 22.
v2:
- fix a typo in patch 1
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/phy/marvell10g.c | 9 | ||||
-rw-r--r-- | drivers/net/phy/phy-c45.c | 6 |
2 files changed, 7 insertions, 8 deletions
diff --git a/drivers/net/phy/marvell10g.c b/drivers/net/phy/marvell10g.c index f9e0a2fc0277..9ea27acf05ad 100644 --- a/drivers/net/phy/marvell10g.c +++ b/drivers/net/phy/marvell10g.c @@ -268,13 +268,8 @@ static int mv3310_config_aneg(struct phy_device *phydev) /* We don't support manual MDI control */ phydev->mdix_ctrl = ETH_TP_MDI_AUTO; - if (phydev->autoneg == AUTONEG_DISABLE) { - ret = genphy_c45_pma_setup_forced(phydev); - if (ret < 0) - return ret; - - return genphy_c45_an_disable_aneg(phydev); - } + if (phydev->autoneg == AUTONEG_DISABLE) + return genphy_c45_pma_setup_forced(phydev); ret = genphy_c45_an_config_aneg(phydev); if (ret < 0) diff --git a/drivers/net/phy/phy-c45.c b/drivers/net/phy/phy-c45.c index 1cf5e8ae46de..16636d49bd14 100644 --- a/drivers/net/phy/phy-c45.c +++ b/drivers/net/phy/phy-c45.c @@ -70,7 +70,11 @@ int genphy_c45_pma_setup_forced(struct phy_device *phydev) if (ret < 0) return ret; - return phy_write_mmd(phydev, MDIO_MMD_PMAPMD, MDIO_CTRL2, ctrl2); + ret = phy_write_mmd(phydev, MDIO_MMD_PMAPMD, MDIO_CTRL2, ctrl2); + if (ret < 0) + return ret; + + return genphy_c45_an_disable_aneg(phydev); } EXPORT_SYMBOL_GPL(genphy_c45_pma_setup_forced); |