diff options
Diffstat (limited to 'drivers/pci/dmar.c')
-rw-r--r-- | drivers/pci/dmar.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/pci/dmar.c b/drivers/pci/dmar.c index b952ebc7a78b..416f6ac65b76 100644 --- a/drivers/pci/dmar.c +++ b/drivers/pci/dmar.c | |||
@@ -645,10 +645,13 @@ void __init detect_intel_iommu(void) | |||
645 | "x2apic and Intr-remapping.\n"); | 645 | "x2apic and Intr-remapping.\n"); |
646 | #endif | 646 | #endif |
647 | #ifdef CONFIG_DMAR | 647 | #ifdef CONFIG_DMAR |
648 | if (ret && !no_iommu && !iommu_detected && !swiotlb && | 648 | if (ret && !no_iommu && !iommu_detected && !dmar_disabled) |
649 | !dmar_disabled) | ||
650 | iommu_detected = 1; | 649 | iommu_detected = 1; |
651 | #endif | 650 | #endif |
651 | #ifdef CONFIG_X86 | ||
652 | if (ret) | ||
653 | x86_init.iommu.iommu_init = intel_iommu_init; | ||
654 | #endif | ||
652 | } | 655 | } |
653 | early_acpi_os_unmap_memory(dmar_tbl, dmar_tbl_size); | 656 | early_acpi_os_unmap_memory(dmar_tbl, dmar_tbl_size); |
654 | dmar_tbl = NULL; | 657 | dmar_tbl = NULL; |