Commit 71399707 authored by Thangaraj Samynathan's avatar Thangaraj Samynathan Committed by Jakub Kicinski
Browse files

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: a5f199a8 ("net: lan743x: Migrate phylib to phylink")
Signed-off-by: default avatarThangaraj Samynathan <thangaraj.s@microchip.com>
Reviewed-by: default avatarRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://patch.msgid.link/20260323065345.144915-1-thangaraj.s@microchip.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent ba8bda9a
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -3053,6 +3053,11 @@ static void lan743x_phylink_mac_link_up(struct phylink_config *config,
	else if (speed == SPEED_100)
		mac_cr |= MAC_CR_CFG_L_;

	if (duplex == DUPLEX_FULL)
		mac_cr |= MAC_CR_DPX_;
	else
		mac_cr &= ~MAC_CR_DPX_;

	lan743x_csr_write(adapter, MAC_CR, mac_cr);

	lan743x_ptp_update_latency(adapter, speed);