intel-iommu: Fix lookup in add device
PATCH 1/1 intel-iommu: Fix lookup in add device
We can't assume this device exists, fall back to the bridge itself.
Signed-off-by Alex Williamson <[email protected]>
Tested-by Matthew Thode <[email protected]>
--- drivers/iommu/intel-iommu.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/iommu/intel-iommu.c +2 -2
@@ -4108,7 +4108,7 @@ static void swap_pci_ref(struct pci_dev **from, struct pci_dev *to)static int intel_iommu_add_device (struct device *dev) {struct pci_dev *pdev =to_pci_dev (dev); -struct pci_dev *bridge, *dma_pdev; +struct pci_dev *bridge, *dma_pdev =NULL ;struct iommu_group *group;int ret;
@@ -4122,7 +4122,7 @@ static int intel_iommu_add_device(struct device *dev) dma_pdev =pci_get_domain_bus_and_slot (pci_domain_nr (pdev->bus), bridge->subordinate->number,0 ); - else +if (!dma_pdev) dma_pdev =pci_dev_get (bridge); }else dma_pdev =pci_dev_get (pdev);
Quoted 24 lines · Alex Williamson
We can't assume this device exists, fall back to the bridge itself.
Signed-off-by Alex Williamson <[email protected]>Tested-by Matthew Thode <[email protected]>--- drivers/iommu/intel-iommu.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)drivers/iommu/intel-iommu.c +1
-1@@ -4108,7 +4108,7 @@ static void swap_pci_ref(struct pci_dev **from, struct pci_dev *to)static int intel_iommu_add_device (struct device *dev) {struct pci_dev *pdev =to_pci_dev (dev); -struct pci_dev *bridge, *dma_pdev; +struct pci_dev *bridge, *dma_pdev =NULL ;struct iommu_group *group;int ret;
drivers/iommu/intel-iommu.c static int intel_iommu_add_device(struct device *dev) · line 4128
Quoted 8 lines
drivers/iommu/intel-iommu.c +1
-1@@ -4122,7 +4122,7 @@ static int intel_iommu_add_device(struct device *dev) dma_pdev =pci_get_domain_bus_and_slot (pci_domain_nr (pdev->bus), bridge->subordinate->number,0 ); - else +if (!dma_pdev) dma_pdev =pci_dev_get (bridge); }else dma_pdev =pci_dev_get (pdev);
I've tested this and it works just fine.
Signature · 1 line
-- Matthew Thode (prometheanfire)
Quoted 5 lines · Alex Williamson
We can't assume this device exists, fall back to the bridge itself.
Signed-off-by Alex Williamson <[email protected]>Tested-by Matthew Thode <[email protected]>
Applied to iommu/fixes, thanks.