]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
net: lan966x: Fix the configuration of the pcs
authorHoratiu Vultur <horatiu.vultur@microchip.com>
Sat, 11 Dec 2021 21:44:20 +0000 (22:44 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 13 Dec 2021 14:39:41 +0000 (14:39 +0000)
When inserting a SFP that runs at 2.5G, then the Serdes was still
configured to run at 1G. Because the config->speed was 0, and then the
speed of the serdes was not configured at all, it was using the default
value which is 1G. This patch stop calling the serdes function set_speed
and allow the serdes to figure out the speed based on the interface
type.

Fixes: d28d6d2e37d10d ("net: lan966x: add port module support")
Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/microchip/lan966x/lan966x_port.c

index 2ddb20585d4073a975aa0a8d8890e9d3697d8db7..237555845a527524f37cbe855c0330233bdba941 100644 (file)
@@ -331,7 +331,6 @@ int lan966x_port_pcs_set(struct lan966x_port *port,
        struct lan966x *lan966x = port->lan966x;
        bool inband_aneg = false;
        bool outband;
-       int err;
 
        if (config->inband) {
                if (config->portmode == PHY_INTERFACE_MODE_SGMII ||
@@ -341,11 +340,6 @@ int lan966x_port_pcs_set(struct lan966x_port *port,
                         config->autoneg)
                        inband_aneg = true; /* Clause-37 in-band-aneg */
 
-               if (config->speed > 0) {
-                       err = phy_set_speed(port->serdes, config->speed);
-                       if (err)
-                               return err;
-               }
                outband = false;
        } else {
                outband = true;