mirror of
https://github.com/torvalds/linux.git
synced 2026-11-07 06:17:02 +01:00
r8169: clear TX LPI on RTL8168h at link up after phylink conversion
Commit3cdeaef175("r8169: disable EEE on RTL8168h/8111h") disables EEE on RTL_GIGA_MAC_VER_46 with phy_disable_eee() but keeps the version EEE-capable, so that link up still calls rtl_enable_tx_lpi(tp, false) and clears the MAC TX-LPI bits (ERI 0x1b0[1:0]). rtl_hw_start_8168h_1() does not clear them, so a warm reboot from an EEE-active state could otherwise leave TX-LPI asserted while the PHY no longer negotiates EEE. In net-next, commit8a3c76523e("r8169: add support for phylink") moved link handling to phylink, and rtl_mac_link_up() does not touch the TX-LPI bits. The merge of net into net-next kept the phy_disable_eee() quirk and its comment, but not the link-up clear it depends on. The only remaining clear is rtl_mac_disable_tx_lpi(), which phylink calls from phylink_deactivate_lpi() only after phylink_activate_lpi() has enabled LPI. With EEE disabled on this chip that never happens, so the bits are never cleared and the comment in r8169_mdio_register() no longer holds. Clear TX-LPI explicitly in rtl_mac_link_up() for RTL_GIGA_MAC_VER_46. Fixes:f49defea76("Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net") Link: https://lore.kernel.org/all/0e0b727e94d046b19ad463e7a1a9fe68@realsil.com.cn/ Signed-off-by: Sasha Levin <sashal@kernel.org> Link: https://patch.msgid.link/20261020161543.3712208-1-sashal@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
82858f249d
commit
f71ff7d406
|
|
@ -6428,6 +6428,8 @@ static void rtl_mac_link_up(struct phylink_config *config,
|
|||
|
||||
tp->speed = speed;
|
||||
rtl_link_chg_patch(tp, speed);
|
||||
if (tp->mac_version == RTL_GIGA_MAC_VER_46)
|
||||
rtl_enable_tx_lpi(tp, false);
|
||||
|
||||
/*
|
||||
* Note: This hardware does not support forcing flow control.
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user