Commit f2ca673d authored by Russell King's avatar Russell King Committed by David S. Miller
Browse files

net: mvneta: fix use of state->speed



When support for short preambles was added, it incorrectly keyed its
decision off state->speed instead of state->interface.  state->speed
is not guaranteed to be correct for in-band modes, which can lead to
short preambles being unexpectedly disabled.

Fix this by keying off the interface mode, which is the only way that
mvneta can operate at 2.5Gbps.

Fixes: da58a931 ("net: mvneta: Add support for 2500Mbps SGMII")
Signed-off-by: default avatarRussell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent b9fcf0a0
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -3959,7 +3959,7 @@ static void mvneta_mac_config(struct phylink_config *config, unsigned int mode,
	/* When at 2.5G, the link partner can send frames with shortened
	 * preambles.
	 */
	if (state->speed == SPEED_2500)
	if (state->interface == PHY_INTERFACE_MODE_2500BASEX)
		new_ctrl4 |= MVNETA_GMAC4_SHORT_PREAMBLE_ENABLE;

	if (pp->phy_interface != state->interface) {