net: lan966x: Fix the configuration of the pcs

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: d28d6d2e37 ("net: lan966x: add port module support")
Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Horatiu Vultur 2021-12-11 22:44:20 +01:00 committed by David S. Miller
parent 87f7282e76
commit b26980ab2a

View 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;