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

Timo Aaltonen tjaalton at ubuntu.com
Wed Jun 23 10:25:56 UTC 2021


applied to oem-5.10, thanks

On 18.6.2021 6.44, Koba Ko wrote:
> 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(-)
> 


-- 
t



More information about the kernel-team mailing list