diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c index ace088eebb45..2079cb65d478 100644 --- a/drivers/iommu/intel-iommu.c +++ b/drivers/iommu/intel-iommu.c @@ -2882,9 +2882,9 @@ static inline struct dmar_domain *get_valid_domain_for_dev(struct pci_dev *dev) return __get_valid_domain_for_dev(dev); } -static int iommu_dummy(struct pci_dev *pdev) +static int iommu_dummy(struct device *dev) { - return pdev->dev.archdata.iommu == DUMMY_DEVICE_DOMAIN_INFO; + return dev->archdata.iommu == DUMMY_DEVICE_DOMAIN_INFO; } /* Check if the pdev needs to go through non-identity map and unmap process.*/ @@ -2896,13 +2896,13 @@ static int iommu_no_mapping(struct device *dev) if (unlikely(!dev_is_pci(dev))) return 1; - pdev = to_pci_dev(dev); - if (iommu_dummy(pdev)) + if (iommu_dummy(dev)) return 1; if (!iommu_identity_mapping) return 0; + pdev = to_pci_dev(dev); found = identity_mapping(pdev); if (found) { if (iommu_should_identity_map(pdev, 0)) @@ -3801,7 +3801,7 @@ static int device_notifier(struct notifier_block *nb, struct pci_dev *pdev = to_pci_dev(dev); struct dmar_domain *domain; - if (iommu_dummy(pdev)) + if (iommu_dummy(dev)) return 0; if (action != BUS_NOTIFY_UNBOUND_DRIVER &&