| From 65470ea7d6aa1d9f2a1fc31ae9da66c441c393d5 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 30 Jun 2020 11:04:40 +0100 |
| Subject: net: mvneta: fix use of state->speed |
| |
| From: Russell King <rmk+kernel@armlinux.org.uk> |
| |
| [ Upstream commit f2ca673d2cd5df9a76247b670e9ffd4d63682b3f ] |
| |
| 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: da58a931f248 ("net: mvneta: Add support for 2500Mbps SGMII") |
| Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/net/ethernet/marvell/mvneta.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c |
| index 9799253948281..ffdb7b113f172 100644 |
| --- a/drivers/net/ethernet/marvell/mvneta.c |
| +++ b/drivers/net/ethernet/marvell/mvneta.c |
| @@ -3594,7 +3594,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) { |
| -- |
| 2.25.1 |
| |