Skip to content

Commit 3be5fa2

Browse files
l1kkwilczynski
authored andcommitted
Revert "iommu/amd: Prevent binding other PCI drivers to IOMMU PCI devices"
Commit 991de2e ("PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq()") changed IRQ handling on PCI driver probing. It inadvertently broke resume from system sleep on AMD platforms: https://lore.kernel.org/r/[email protected]/ This was fixed by two independent commits: * 8affb48 ("x86/PCI: Don't alloc pcibios-irq when MSI is enabled") * cbbc00b ("iommu/amd: Prevent binding other PCI drivers to IOMMU PCI devices") The breaking change and one of these two fixes were subsequently reverted: * fe25d07 ("Revert "x86/PCI: Don't alloc pcibios-irq when MSI is enabled"") * 6c777e8 ("Revert "PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq()"") This rendered the second fix unnecessary, so revert it as well. It used the match_driver flag in struct pci_dev, which is internal to the PCI core and not supposed to be touched by arbitrary drivers. Signed-off-by: Lukas Wunner <[email protected]> Signed-off-by: Bjorn Helgaas <[email protected]> Signed-off-by: Krzysztof Wilczyński <[email protected]> Acked-by: Joerg Roedel <[email protected]> Link: https://patch.msgid.link/9a3ddff5cc49512044f963ba0904347bd404094d.1745572340.git.lukas@wunner.de
1 parent d24eba7 commit 3be5fa2

File tree

1 file changed

+0
-3
lines changed

1 file changed

+0
-3
lines changed

drivers/iommu/amd/init.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2030,9 +2030,6 @@ static int __init iommu_init_pci(struct amd_iommu *iommu)
20302030
if (!iommu->dev)
20312031
return -ENODEV;
20322032

2033-
/* Prevent binding other PCI device drivers to IOMMU devices */
2034-
iommu->dev->match_driver = false;
2035-
20362033
/* ACPI _PRT won't have an IRQ for IOMMU */
20372034
iommu->dev->irq_managed = 1;
20382035

0 commit comments

Comments
 (0)