Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

net: pcs: lynx: fix lynx_pcs_link_up_sgmii() not doing anything in fixed-link mode

lynx_pcs_link_up_sgmii() is supposed to update the PCS speed and duplex
for the non-inband operating modes, and prior to the blamed commit, it
did just that, but a mistake sneaked into the conversion and reversed
the condition.

It is easy for this to go undetected on platforms that also initialize
the PCS in the bootloader, because Linux doesn't reset it (although
maybe it should). The nature of the bug is that phylink will not touch
the IF_MODE_HALF_DUPLEX | IF_MODE_SPEED_MSK fields when it should, and
it will apparently keep working if the previous values set by the
bootloader were correct.

Fixes: c689a6528c22 ("net: pcs: lynx: update PCS driver to use neg_mode")
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Vladimir Oltean and committed by
David S. Miller
2f4503f9 80c2c7b3

+1 -1
+1 -1
drivers/net/pcs/pcs-lynx.c
··· 216 216 /* The PCS needs to be configured manually only 217 217 * when not operating on in-band mode 218 218 */ 219 - if (neg_mode != PHYLINK_PCS_NEG_INBAND_ENABLED) 219 + if (neg_mode == PHYLINK_PCS_NEG_INBAND_ENABLED) 220 220 return; 221 221 222 222 if (duplex == DUPLEX_HALF)