This series tries to address: https://bugzilla.kernel.org/show_bug.cgi?id=44881 Where pci_find_upstream_pcie_bridge() gets lost trying to find the upstream PCIe-to-PCI bridge for a device because the bridge doesn't expose a PCIe capability. To do this, we add a pci_is_pcie_bridge function which includes a quirk to look to the next upstream device as a sanity check. We can then replace pci_find_upstream_pcie_bridge with a function that's a bit more generic and less tied to intel-iommu eccentricities. This works on my VT-d system, but I don't have any of the offending bridges. Appreciate testing from those who do. I'll link this series to the bz above for more testing. Thanks, Alex --- Alex Williamson (3): pci: Add PCI walk function and PCIe bridge test intel-iommu: Convert to pci_walk_up_to_first_match pci: Remove pci_find_pcie_upstream_bridge drivers/iommu/intel-iommu.c | 77 ++++++++++++++++++++++------------- drivers/iommu/intel_irq_remapping.c | 13 ++++-- drivers/pci/search.c | 74 ++++++++++++++++++++++------------ include/linux/pci.h | 26 +++++++++--- 4 files changed, 124 insertions(+), 66 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html