On Thu, 2024-12-12 at 10:11 -0600, Bjorn Helgaas wrote: > On Thu, Dec 12, 2024 at 09:56:16AM +0100, Lukas Wunner wrote: > > The Supported Link Speeds Vector in the Link Capabilities 2 Register > > indicates the *supported* link speeds. The Max Link Speed field in > > the Link Capabilities Register indicates the *maximum* of those speeds. > > > > Niklas reports that the Intel JHL7540 "Titan Ridge 2018" Thunderbolt > > controller supports 2.5-8 GT/s speeds, but indicates 2.5 GT/s as maximum. > > Ilpo recalls seeing this inconsistency on more devices. > > > > pcie_get_supported_speeds() neglects to honor the Max Link Speed field > > and will thus incorrectly deem higher speeds as supported. Fix it. > > > > Fixes: d2bd39c0456b ("PCI: Store all PCIe Supported Link Speeds") > > Reported-by: Niklas Schnelle <niks@xxxxxxxxxx> > > Closes: https://lore.kernel.org/r/70829798889c6d779ca0f6cd3260a765780d1369.camel@xxxxxxxxxx/ > > Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> > > Cc: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx> > > Looks like you want this in v6.13? Can we make commit log more > explicit as to why we need it there? Is this change enough to resolve > the boot hang Niklas reported? As for if it fixes my hang I will test this later today when I come home. But even if it is not enough on its own, I believe that this will be needed as a prerequisite for the fix of my hang issue in that without this patch the dev->supported_speeds incorrectly shows multiple speeds as supported making it impossible to suppress probing of bwctrl for devices that only support a fixed speed.