[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b92ab615-75f6-8606-cb3b-75fe03a1d9a9@linux.intel.com>
Date: Tue, 2 Dec 2025 18:07:50 +0200 (EET)
From: Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
To: ALOK TIWARI <alok.a.tiwari@...cle.com>
cc: "Maciej W. Rozycki" <macro@...am.me.uk>,
Bjorn Helgaas <bhelgaas@...gle.com>,
Matthew W Carlis <mattc@...estorage.com>, ashishk@...estorage.com,
bamstadt@...estorage.com, msaggi@...estorage.com, sconnor@...estorage.com,
Lukas Wunner <lukas@...ner.de>, Jiwei <jiwei.sun.bj@...com>,
guojinhui.liam@...edance.com, ahuang12@...ovo.com, sunjw10@...ovo.com,
linux-pci@...r.kernel.org, LKML <linux-kernel@...r.kernel.org>
Subject: Re: [External] : [PATCH] PCI: Always lift 2.5GT/s restriction in
PCIe failed link retraining
On Tue, 2 Dec 2025, ALOK TIWARI wrote:
> On 12/1/2025 9:22 AM, Maciej W. Rozycki wrote:
> > Discard Vendor:Device ID matching in the PCIe failed link retraining
> > quirk and ignore the link status for the removal of the 2.5GT/s speed
> > clamp, whether applied by the quirk itself or the firmware earlier on.
> > Revert to the original target link speed if this final link retraining
> > has failed.
> >
> > This is so that link training noise in hot-plug scenarios does not make
> > a link remain clamped to the 2.5GT/s speed where an event race has led
> > the quirk to apply the speed clamp for one device, only to leave it in
> > place for a subsequent device to be plugged in.
> >
> > Fixes: a89c82249c37 ("PCI: Work around PCIe link training failures")
> > Signed-off-by: Maciej W. Rozycki<macro@...am.me.uk>
> > Cc:<stable@...r.kernel.org> # v6.5+
> > ---
> > drivers/pci/quirks.c | 50
> > ++++++++++++++++++--------------------------------
> > 1 file changed, 18 insertions(+), 32 deletions(-)
> >
> > linux-pcie-failed-link-retrain-unclamp-always.diff
> > Index: linux-macro/drivers/pci/quirks.c
> > ===================================================================
> > --- linux-macro.orig/drivers/pci/quirks.c
> > +++ linux-macro/drivers/pci/quirks.c
>
> Thanks a lot for your patch.
> The patch works, and the issue has been resolved in our testing.
>
> However, this patch does not cleanly apply to the 6.12 LTS kernel.
> To apply the fix cleanly, a series of patches is required.
>
> PCI: Always lift 2.5GT/s restriction in PCIe failed link retraining
> 2389d8dc38fee PCI/bwctrl: Replace lbms_count with PCI_LINK_LBMS_SEEN flag
> 15b8968dcb90f PCI/bwctrl: Fix NULL pointer deref on unbind and bind
> e3f30d563a388 PCI: Make pci_destroy_dev() concurrent safe
> 667f053b05f00 PCI/bwctrl: Fix NULL pointer dereference on bus number
> exhaustion
> e93d9fcfd7dc6 PCI: Refactor pcie_update_link_speed()
> 9989e0ca7462c PCI: Fix link speed calculation on retrain failure
> b85af48de3ece PCI: Adjust the position of reading the Link Control 2 register
> 026e4bffb0af9 PCI/bwctrl: Fix pcie_bwctrl_select_speed() return type
> d278b098282d1 thermal: Add PCIe cooling driver
> de9a6c8d5dbfe PCI/bwctrl: Add pcie_set_target_speed() to set PCIe Link Speed
> 665745f274870 PCI/bwctrl: Re-add BW notification portdrv as PCIe BW controller
> 3491f50966686 PCI: Abstract LBMS seen check into pcie_lbms_seen()
>
> Could you please provide a version of this patch that can be
> cleanly cherry-picked for the 6.12 LTS (6.12.y) branch?
>
> Alternatively, is it okay to back-port the above patch series to 6.12.y?
>
>
> Tested-by: Alok Tiwari <alok.a.tiwari@...cle.com>
Thanks for testing.
As the change has a Fixes tag, stable maintainers will eventually get to
it (after the change has progressed into Linus' tree).
As per usual, if the patch won't apply to some old kernel version cleanly,
stable maintainers will decide themselves whether they end up taking some
extra changes or ask for a backport from the submitter of the original
change.
--
i.
Powered by blists - more mailing lists