Browse Source

iommu/amd: Disable iommu only if amd_iommu=off is specified

It's ok to disable iommu early in normal kernel or in kdump kernel when
amd_iommu=off is specified. While we should not disable it in kdump kernel
when on-flight dma is still on-going.

Signed-off-by: Baoquan He <bhe@redhat.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Baoquan He 8 years ago
parent
commit
20b46dff13
1 changed files with 2 additions and 1 deletions
  1. 2 1
      drivers/iommu/amd_iommu_init.c

+ 2 - 1
drivers/iommu/amd_iommu_init.c

@@ -2499,7 +2499,8 @@ static int __init early_amd_iommu_init(void)
 		goto out;
 
 	/* Disable any previously enabled IOMMUs */
-	disable_iommus();
+	if (!is_kdump_kernel() || amd_iommu_disabled)
+		disable_iommus();
 
 	if (amd_iommu_irq_remap)
 		amd_iommu_irq_remap = check_ioapic_information();