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: lan743x: fix duplex configuration in mac_link_up

The driver does not explicitly configure the MAC duplex mode when
bringing the link up. As a result, the MAC may retain a stale duplex
setting from a previous link state, leading to duplex mismatches with
the link partner and degraded network performance.

Update lan743x_phylink_mac_link_up() to set or clear the MAC_CR_DPX_
bit according to the negotiated duplex mode.

This ensures the MAC configuration is consistent with the phylink
resolved state.

Fixes: a5f199a8d8a03 ("net: lan743x: Migrate phylib to phylink")
Signed-off-by: Thangaraj Samynathan <thangaraj.s@microchip.com>
Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://patch.msgid.link/20260323065345.144915-1-thangaraj.s@microchip.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Thangaraj Samynathan and committed by
Jakub Kicinski
71399707 ba8bda9a

+5
+5
drivers/net/ethernet/microchip/lan743x_main.c
··· 3053 3053 else if (speed == SPEED_100) 3054 3054 mac_cr |= MAC_CR_CFG_L_; 3055 3055 3056 + if (duplex == DUPLEX_FULL) 3057 + mac_cr |= MAC_CR_DPX_; 3058 + else 3059 + mac_cr &= ~MAC_CR_DPX_; 3060 + 3056 3061 lan743x_csr_write(adapter, MAC_CR, mac_cr); 3057 3062 3058 3063 lan743x_ptp_update_latency(adapter, speed);