From: Aoxtj <aoxtj@axtjblog.cc>
To: Andreas Wild <andiwild@gmail.com>, linux-pci@vger.kernel.org
Cc: bhelgaas@google.com, macro@orcam.me.uk, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3] PCI: Skip Target Speed quirk on clamped ports with no link
Date: Sat, 8 Aug 2026 03:59:44 +0800 [thread overview]
Message-ID: <331e97c7-e422-420d-9f3e-5d9f734464b3@axtjblog.cc> (raw)
In-Reply-To: <20260801201244.4421-1-andiwild@gmail.com>
Hi,
I'm the one who reported a PCIe/NVMe boot regression on the Proxmox forum:
https://forum.proxmox.com/threads/7-0-14-7-kernel-breaks-pci-link-training.185549/
A Proxmox dev pointed me here and asked me to try this patch. I'm not a
kernel developer and did most of the debugging with AI help, so please
bear with me.
TL;DR:
- Proxmox Kernel 7.0.14-6 to 7.0.14-8: SK hynix system drive disappears
during boot.
- Narrowed down to commit 72780f796468 and verified by reverting it.
- 7.0.14-8 + revert 72780f796468: boots reliably.
- 7.0.14-8 + this v3 patch: only boots sometimes; failed boots lose the
drive the same way.
Machine: ASRock B450M Pro4-F, SK hynix PE4010 NVMe system drive on a
passive PCIe bifurcation card.
AMD Renoir PCIe GPP Bridge 0000:00:02.4 [1022:1633]
-> bus 07 -> SK hynix PE4010 0000:07:00.0 [1c5c:2527]
Initramfs dmesg from a failed v3 boot:
[ 0.555805] pci 0000:00:02.4: [1022:1633] type 01 class 0x060400
PCIe Root Port
[ 0.555828] pci 0000:00:02.4: PCI bridge to [bus 07]
[ 0.555871] pci 0000:00:02.4: removing 2.5GT/s downstream link
speed restriction
[ 1.636965] pci 0000:00:02.4: retraining failed
Nothing shows up on bus 07 afterwards, so my system drive is gone.
With the revert instead, the working link reports:
Root Port 0000:00:02.4:
LnkCap: Speed 8GT/s, Width x4
LnkSta: Speed 2.5GT/s, Width x2, DLActive+
LnkCtl2: Target Link Speed: 2.5GT/s, SpeedDis+
LnkSta2: EqualizationComplete-, EqualizationPhase1/2/3-
Endpoint 0000:07:00.0:
LnkCap: Speed 8GT/s, Width x4
LnkSta: Speed 2.5GT/s (downgraded), Width x2 (downgraded)
LnkCtl2: Target Link Speed: 8GT/s
LnkSta2: EqualizationComplete-, EqualizationPhase1/2/3-
My guess: this motherboard supports different PCIe generations depending
on which CPU is installed, and with this CPU the link just can't run at
the advertised 8GT/s — which would explain why the 8GT/s retrain fails.
Tested on a locally rebuilt Proxmox/Ubuntu 7.0.14-8 backport, not
mainline. Also replied in kernel Bugzilla #221801:
https://bugzilla.kernel.org/show_bug.cgi?id=221801
Happy to test a diagnostic patch.
Best regards,
Aoxtj
next prev parent reply other threads:[~2026-08-07 20:00 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-01 20:11 [PATCH v3] PCI: Skip Target Speed quirk on clamped ports with no link Andreas Wild
2026-08-01 20:20 ` sashiko-bot
2026-08-03 5:39 ` Thorsten Leemhuis
2026-08-03 22:07 ` Maciej W. Rozycki
2026-08-04 5:32 ` Thorsten Leemhuis
2026-08-07 19:59 ` Aoxtj [this message]
2026-08-08 6:31 ` Andreas Wild
2026-08-11 3:43 ` Aoxtj
2026-08-11 6:42 ` Andreas Wild
2026-08-24 14:26 ` Thorsten Leemhuis
2026-08-25 7:05 ` Andreas Wild
2026-08-25 10:18 ` Maciej W. Rozycki
2026-09-02 15:48 ` Thorsten Leemhuis
2026-09-07 12:33 ` Maciej W. Rozycki
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=331e97c7-e422-420d-9f3e-5d9f734464b3@axtjblog.cc \
--to=aoxtj@axtjblog.cc \
--cc=andiwild@gmail.com \
--cc=bhelgaas@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=macro@orcam.me.uk \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.