[PATCH 0/3 V2][SRU][OEM-5.10/U] Fix Ethernet not working by hotplug - RTL8106
koba.ko at canonical.com
Fri Jun 18 03:44:07 UTC 2021
After hot-plug the Ethernet cable, the status of Ethernet is always down.
Because ASPM is enabled on RTL8106E, the link change interrupt can't be fired immediately.
Must wait a long time to get the link change interrupt.
After discuss with maintainer, he give some suggestions
1. use PHY_POLL.
2. he send a workaround(Ref. ) to disable ASPM on RTL8106E.
For 2, because don't know the details about operated registers in rtl_hw_aspm_clkreq_enable, it have higher risk on power usage during suspend.
For 1, Use PHY_POLL have a lower risk because don't change any register operations and use polling method to query link change status.
SRU the patches for 1 first.
Currently keep discussing with Realtek but don't figure out yet.
Will re-SRU the official solution once Realtek resolve the issue.
Ref , https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=1ee8856de82faec9bc8bd0f2308a7f27e30ba207
Verified on machines with Realtek Ethernet device, the Ethernet works well after hotplug 30 times.
Medium, use polling methond may have higher cpu usage.
V2: use PHY_POLL.
Heiner Kallweit (1):
net: phy: rename PHY_IGNORE_INTERRUPT to PHY_MAC_INTERRUPT
Koba Ko (1):
UBUNTU: SAUCE: r8169: Use PHY_POLL when RTL8106E enable ASPM
Documentation/networking/phy.rst | 2 +-
drivers/net/ethernet/broadcom/genet/bcmmii.c | 2 +-
drivers/net/ethernet/realtek/r8169_main.c | 16 +++++++++++++++-
drivers/net/ethernet/samsung/sxgbe/sxgbe_mdio.c | 4 ++--
drivers/net/mdio/mdio-moxart.c | 4 ++--
drivers/net/phy/icplus.c | 2 +-
drivers/net/phy/phy.c | 2 +-
drivers/net/phy/phy_device.c | 4 ++--
include/linux/phy.h | 10 +++++-----
9 files changed, 30 insertions(+), 16 deletions(-)
More information about the kernel-team