On Tue, Aug 12, 2025 at 03:42:29PM +0200, Lukas Wunner wrote: > The thunderbolt driver sets up device link dependencies from hotplug ports > to the Host Router (aka Native Host Interface, NHI). When resuming from > system sleep, this allows the Host Router to re-establish tunnels to > attached Thunderbolt devices before the hotplug ports resume. > > To identify the hotplug ports, the driver utilizes the is_hotplug_bridge > flag which also encompasses ACPI slots handled by the ACPI hotplug driver. > > Thunderbolt hotplug ports are always Hot-Plug Capable PCIe ports, so it is > more apt to identify them with the is_pciehp flag. > > Similarly, hotplug ports on older Thunderbolt controllers have broken MSI > support and are quirked to use legacy INTx interrupts instead. The quirk > identifies them with is_hotplug_bridge, even though all affected ports are > also matched by is_pciehp. So use is_pciehp here as well. > > Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> > --- > The is_pciehp flag was introduced by commit 6cff20ce3b92 ("PCI/ACPI: Fix > runtime PM ref imbalance on Hot-Plug Capable ports"), which appeared in > v6.17-rc1. This patch is submitted separately because it is intended > to be applied through thunderbolt.git instead of pci.git. Thanks! > > drivers/pci/quirks.c | 2 +- > drivers/thunderbolt/tb.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c > index d97335a..17315a8 100644 > --- a/drivers/pci/quirks.c > +++ b/drivers/pci/quirks.c > @@ -3829,7 +3829,7 @@ static void quirk_no_pm_reset(struct pci_dev *dev) > */ > static void quirk_thunderbolt_hotplug_msi(struct pci_dev *pdev) > { > - if (pdev->is_hotplug_bridge && > + if (pdev->is_pciehp && > (pdev->device != PCI_DEVICE_ID_INTEL_CACTUS_RIDGE_4C || > pdev->revision <= 1)) > pdev->no_msi = 1; > diff --git a/drivers/thunderbolt/tb.c b/drivers/thunderbolt/tb.c > index c14ab1f..83a33fc 100644 > --- a/drivers/thunderbolt/tb.c > +++ b/drivers/thunderbolt/tb.c > @@ -3336,7 +3336,7 @@ static bool tb_apple_add_links(struct tb_nhi *nhi) > if (!pci_is_pcie(pdev)) > continue; > if (pci_pcie_type(pdev) != PCI_EXP_TYPE_DOWNSTREAM || > - !pdev->is_hotplug_bridge) > + !pdev->is_pciehp) > continue; > > link = device_link_add(&pdev->dev, &nhi->pdev->dev, > -- > 2.47.2 >