[PATCH 0/3 V2][SRU][OEM-5.10/U] Fix Ethernet not working by hotplug - RTL8106

Koba Ko koba.ko at canonical.com
Fri Jun 18 03:44:07 UTC 2021


BugLink: https://bugs.launchpad.net/bugs/1930645

[Impact]
After hot-plug the Ethernet cable, the status of Ethernet is always down.

[Fix]
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. [1]) 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 [1], https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=1ee8856de82faec9bc8bd0f2308a7f27e30ba207

[Test]
Verified on machines with Realtek Ethernet device, the Ethernet works well after hotplug 30 times.

[Regression Potential]
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(-)

-- 
2.25.1




More information about the kernel-team mailing list