From: Josh Perry <josh@6bit.com>
To: mario.limonciello@amd.com, bhelgaas@google.com
Cc: hkallweit1@gmail.com, nic_swsd@realtek.com, rafael@kernel.org,
linux-pci@vger.kernel.org, netdev@vger.kernel.org,
regressions@lists.linux.dev
Subject: [REGRESSION 6.16] r8169 RTL8168h/8111h fails to probe — "Unable to change power state from D3cold to D0" — bisected to 4d4c10f763d7
Date: Thu, 11 Jun 2026 19:07:23 -0600 [thread overview]
Message-ID: <d4aaa5e8-7366-461c-94b1-ccf3631c8bf9@6bit.com> (raw)
#regzbot introduced: 4d4c10f763d7
Since v6.16 one of two onboard RTL8168h/8111h NICs on this board fails
to probe on boot; the device drops to D3cold and the driver can't bring
it back:
r8169 0000:02:00.0 eth0: RTL8168h/8111h, 00:2b:67:48:40:01, XID 541,
IRQ 137
r8169 0000:04:00.0: Unable to change power state from D3cold to D0,
device inaccessible
r8169 0000:04:00.0: Mem-Wr-Inval unavailable
r8169 0000:04:00.0: error -EIO: PCI read failed
r8169 0000:04:00.0: probe with driver r8169 failed with error -5
The board has two identical RTL8168h NICs (both XID 541): 0000:02:00.0
and 0000:04:00.0. Only 04:00.0 fails — its sibling 02:00.0, on a
different root port, probes and works normally on the very same kernel
and boot. The failing NIC then does not appear (no enp4s0), taking the
machine's WAN offline. This strongly suggests the problem is
port/topology-specific rather than device- or driver-specific: the
upstream port behind 04:00.0 is placed in D3cold and the endpoint cannot
be resumed to D0.
Hardware: RTL8168h/8111h, XID 541, PCI 04:00.0 (onboard 1GbE).
Platform: Lenovo ThinkCentre M90n-1 (11AHS0B200), BIOS M2AKT49A
(2026-03-25, latest available). Firmware is current, so this is not a
platform-firmware issue.
Bisection: v6.15 good, v6.16 bad (verified by booting both). I then
reverted 4d4c10f763d7 ("PCI: Explicitly put devices into D0 when
initializing") together with its follow-up 907a7a2e5bf4 ("PCI/PM: Set up
runtime PM even for devices without PCI PM") on top of 6.16.7: the NIC
probes and links at 1Gbps/Full normally, with no workaround:
r8169 0000:04:00.0 eth1: RTL8168h/8111h, 00:2b:67:48:40:02, XID 541,
IRQ 138
r8169 0000:04:00.0 enp4s0: Link is Up - 1Gbps/Full - flow control rx/tx
Workaround: booting an unmodified v6.16+ kernel with pcie_port_pm=off
also restores the NIC, which is consistent with the upstream port being
placed in D3cold and the device failing to resume to D0 after the
explicit-D0 init change.
The follow-up 907a7a2e5bf4 does not fix this resume case: v6.18.33 is
still affected (retested today on current firmware).
Happy to test patches or provide full dmesg / lspci.
next reply other threads:[~2026-06-12 1:15 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-12 1:07 Josh Perry [this message]
2026-06-17 8:32 ` [REGRESSION 6.16] r8169 RTL8168h/8111h fails to probe — "Unable to change power state from D3cold to D0" — bisected to 4d4c10f763d7 Thorsten Leemhuis
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=d4aaa5e8-7366-461c-94b1-ccf3631c8bf9@6bit.com \
--to=josh@6bit.com \
--cc=bhelgaas@google.com \
--cc=hkallweit1@gmail.com \
--cc=linux-pci@vger.kernel.org \
--cc=mario.limonciello@amd.com \
--cc=netdev@vger.kernel.org \
--cc=nic_swsd@realtek.com \
--cc=rafael@kernel.org \
--cc=regressions@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox