diff --git a/drivers/iommu/intel/dmar.c b/drivers/iommu/intel/dmar.c index 54d790f75824779b3abf6d84398d29afd8b06e80..f0b614122446fb433df43997e41bdfa6234f0b26 100644 --- a/drivers/iommu/intel/dmar.c +++ b/drivers/iommu/intel/dmar.c @@ -1133,7 +1133,7 @@ static int alloc_iommu(struct dmar_drhd_unit *drhd) static void free_iommu(struct intel_iommu *iommu) { - if (intel_iommu_enabled && iommu->iommu.ops) { + if (intel_iommu_enabled && !iommu->drhd->ignored) { iommu_device_unregister(&iommu->iommu); iommu_device_sysfs_remove(&iommu->iommu); }