In phy_device_create() we set phydev->autoneg = 1. This isn't changed
even if the PHY doesn't support autoneg. This seems to affect very
few PHY's, and they disable phydev->autoneg in their config_init
callback. So it's more of an improvement, therefore net-next.
The patch also wouldn't apply to older kernel versions because the
link mode bitmaps have been introduced recently.

Signed-off-by: Heiner Kallweit <hkallwe...@gmail.com>
---
 drivers/net/phy/phy_device.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
index 5eb905ab5..2d2b654e8 100644
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
@@ -2158,6 +2158,10 @@ static int phy_probe(struct device *dev)
        if (err)
                goto out;
 
+       if (!linkmode_test_bit(ETHTOOL_LINK_MODE_Autoneg_BIT,
+                              phydev->supported))
+               phydev->autoneg = 0;
+
        if (linkmode_test_bit(ETHTOOL_LINK_MODE_1000baseT_Half_BIT,
                              phydev->supported))
                phydev->is_gigabit_capable = 1;
-- 
2.21.0

Reply via email to