net: phylink: only restart AN if the link mode is using in-band AN
authorRussell King <rmk+kernel@armlinux.org.uk>
Wed, 24 Jun 2020 11:30:04 +0000 (12:30 +0100)
committerDavid S. Miller <davem@davemloft.net>
Thu, 25 Jun 2020 23:02:24 +0000 (16:02 -0700)
If we are not using in-band autonegotiation, there is no point passing
the request to restart autonegotiation on to the driver.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/phylink.c

index 7cda1646bbf7d30b14ff3230480848607f044ebe..494af91535ba141087ffec00579cdaca50a2dbc0 100644 (file)
@@ -429,7 +429,8 @@ static void phylink_mac_config_up(struct phylink *pl,
 static void phylink_mac_pcs_an_restart(struct phylink *pl)
 {
        if (pl->link_config.an_enabled &&
-           phy_interface_mode_is_8023z(pl->link_config.interface)) {
+           phy_interface_mode_is_8023z(pl->link_config.interface) &&
+           phylink_autoneg_inband(pl->cur_link_an_mode)) {
                if (pl->pcs_ops)
                        pl->pcs_ops->pcs_an_restart(pl->config);
                else