diff options
author | Arun Ramadoss <arun.ramadoss@microchip.com> | 2022-04-07 06:46:10 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2022-04-11 11:32:58 +0200 |
commit | b2cd2cde7d690b760bcdd675380ff37c3e1aa38d (patch) | |
tree | 5cf16f2f1f4842083110f6a3d0a90ae620fe6fff /drivers/net/phy/microchip_t1.c | |
parent | net: atlantic: Avoid out-of-bounds indexing (diff) | |
download | linux-b2cd2cde7d690b760bcdd675380ff37c3e1aa38d.tar.xz linux-b2cd2cde7d690b760bcdd675380ff37c3e1aa38d.zip |
net: phy: LAN87xx: remove genphy_softreset in config_aneg
When the T1 phy master/slave state is changed, at the end of config_aneg
function genphy_softreset is called. After the reset all the registers
configured during the config_init are restored to default value.
To avoid this, removed the genphy_softreset call.
v1->v2
------
Added the author in cc
Fixes: 8a1b415d70b7 ("net: phy: added ethtool master-slave configuration support")
Signed-off-by: Arun Ramadoss <arun.ramadoss@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/phy/microchip_t1.c')
-rw-r--r-- | drivers/net/phy/microchip_t1.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/drivers/net/phy/microchip_t1.c b/drivers/net/phy/microchip_t1.c index 389df3f4293c..3f79bbbe62d3 100644 --- a/drivers/net/phy/microchip_t1.c +++ b/drivers/net/phy/microchip_t1.c @@ -706,7 +706,6 @@ static int lan87xx_read_status(struct phy_device *phydev) static int lan87xx_config_aneg(struct phy_device *phydev) { u16 ctl = 0; - int rc; switch (phydev->master_slave_set) { case MASTER_SLAVE_CFG_MASTER_FORCE: @@ -722,11 +721,7 @@ static int lan87xx_config_aneg(struct phy_device *phydev) return -EOPNOTSUPP; } - rc = phy_modify_changed(phydev, MII_CTRL1000, CTL1000_AS_MASTER, ctl); - if (rc == 1) - rc = genphy_soft_reset(phydev); - - return rc; + return phy_modify_changed(phydev, MII_CTRL1000, CTL1000_AS_MASTER, ctl); } static struct phy_driver microchip_t1_phy_driver[] = { |