The DP83869 PHY requires a software restart when the OP_MODE is changed. Add this restart in dp83869_configure_mode(). Signed-off-by: Romain Gantois --- drivers/net/phy/dp83869.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/phy/dp83869.c b/drivers/net/phy/dp83869.c index 1f381d7b13ff..309bf608d630 100644 --- a/drivers/net/phy/dp83869.c +++ b/drivers/net/phy/dp83869.c @@ -792,11 +792,17 @@ static int dp83869_configure_mode(struct phy_device *phydev, case DP83869_RGMII_1000_BASE: case DP83869_RGMII_100_BASE: ret = dp83869_configure_fiber(phydev, dp83869); + if (ret) + return ret; break; default: return -EINVAL; } + ret = phy_write(phydev, DP83869_CTRL, DP83869_SW_RESTART); + + usleep_range(10, 20); + return ret; } -- 2.51.2