ACK/Cmnt: [SRU][R][PATCH v2 0/8] System cannot enter s0ix suspend on Dell with RTL8116AF ethernet
Edoardo Canepa
edoardo.canepa at canonical.com
Tue Sep 8 11:19:56 UTC 2026
Acked-by: Edoardo Canepa <edoardo.canepa at canonical.com>
This is accepted for the sole purpose of progressing the migration of
oem-6.17 to hwe-7.0.
The patchset is cherry picked from net-next, has a wide blast radius due
to the extensive 745 changed lines in `r8169_main.c` converting *every*
r8169 chip — 8169/8168/8101/8125/8127, one of the largest NIC installed
bases in the archive — from phylib to phylink, to fix s0ix on one Dell
SKU. Hopefully as soon as a more adequate fix or a definitive patchset
lands, this can be removed.
On 9/8/26 11:53, AceLan Kao via kernel-team wrote:
> From: "Chia-Lin Kao (AceLan)"<acelan.kao at canonical.com>
>
> BugLink:https://bugs.launchpad.net/bugs/2160475
>
> [Impact]
> On Dell Pro 5 Micro P5M1260 (RTL8116AF / "RTK 1G OM"), the system cannot enter suspend. Screen turns off, fan stops, power LED goes off, but the system never reaches S0ix: slp_s0_residency stays 0 and package C-state stalls at C10 entry. Hits 100%.
>
> RTL8116AF runs in SFP/SerDes mode and is a multi-function card. Hidden functions 2-7 must be put into D3hot with ASPM enabled so the platform can reach C10/s0ix. Without this, the PCIe link stays active and blocks package low-power entry.
>
> [Fix]
> Cherry-pick 7 commits from net-next (v9 r8169 phylink series from Realtek):
>
> ddffc67d89c8 r8169: add speed in private struct
> 9f8cb9cbcdc8 net: phy: phylink: add helper to modify pause
> 8a3c76523e44 r8169: add support for phylink
> dab515216def r8169: add support for RTL8116af
> 97dee72abc37 r8169: add support for RTL8127atf
> 6e445f3d9538 r8169: add ltr support for RTL8117 series
> a306cbd79e07 r8169: fix RTL8116af can not enter s0idle and c10
>
> These move r8169 to phylink, add SerDes link handling for RTL8116af and RTL8127atf, add LTR support for RTL8117, and put RTL8116AF's hidden functions into D3hot with ASPM enabled.
>
> Merged in net-next, not yet in a released kernel version. Original v9 posting:
> https://lore.kernel.org/netdev/20260831053745.1197-1-javen_xu@realsil.com.cn/
>
> [Test Plan]
> On Dell Pro 5 Micro P5M1260:
> 1. Boot the fixed kernel.
> 2. Trigger suspend:
> $ sudo rtcwake -m mem -s 20
> 3. After resume, check S0ix residency:
> $ sudo cat /sys/kernel/debug/pmc_core/slp_s0_residency_usec
>
> Without patch: slp_s0_residency stays 0, package never reaches C10/s0ix.
> With patch: slp_s0_residency increments after each suspend.
> Repeat 20+ cycles to confirm stability.
>
> [Where problems could occur]
> This moves r8169 link handling from phylib to phylink for all supported chips, not just RTL8116AF. A phylink bug could break link-up, autonegotiation, or pause handling on any r8169 card. The SerDes changes could misidentify SFP mode on other VER_52/VER_63 chips, causing link failure or wrong speed. The D3hot/ASPM change on RTL8116AF's hidden functions could put the ethernet function itself into the wrong power state if function detection is wrong. The RTL8117 LTR change could cause tx/rx stalls if l1.2 entry timing is off.
>
> [Other Info]
> Commits are merged in net-next but not yet in a released kernel tag; cherry-picked directly from net-next by hash.
>
> ---
> v2. marks this series as sauce patch
>
> Chia-Lin Kao (AceLan) (1):
> Revert "UBUNTU: SAUCE: r8169: add quirk for RTL8116af SerDes"
>
> Javen Xu (7):
> UBUNTU: SAUCE: r8169: add speed in private struct
> UBUNTU: SAUCE: net: phy: phylink: add helper to modify pause
> UBUNTU: SAUCE: r8169: add support for phylink
> UBUNTU: SAUCE: r8169: add support for RTL8116af
> UBUNTU: SAUCE: r8169: add support for RTL8127atf
> UBUNTU: SAUCE: r8169: add ltr support for RTL8117 series
> UBUNTU: SAUCE: r8169: fix RTL8116af can not enter s0idle and c10
>
> drivers/net/ethernet/realtek/Kconfig | 2 +-
> drivers/net/ethernet/realtek/r8169_main.c | 745 ++++++++++++++++------
> drivers/net/phy/phylink.c | 171 +++--
> drivers/net/phy/realtek/realtek_main.c | 54 --
> include/linux/phylink.h | 2 +
> include/net/phy/realtek_phy.h | 7 -
> 6 files changed, 685 insertions(+), 296 deletions(-)
> delete mode 100644 include/net/phy/realtek_phy.h
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20260908/61f0ff4b/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20260908/61f0ff4b/attachment.sig>
More information about the kernel-team
mailing list