diff options
author | Baoquan He <bhe@redhat.com> | 2017-08-09 16:33:44 +0800 |
---|---|---|
committer | Joerg Roedel <jroedel@suse.de> | 2017-08-15 18:14:41 +0200 |
commit | 20b46dff13bd1d250dc968b318f0fac3c996b3fa (patch) | |
tree | d4d901fc27c1d4e6b96cb3b5d309b4182efcbeb8 /drivers/iommu/amd_iommu_init.c | |
parent | daae2d25a4779b272a66ddd01f5810bcee822b9e (diff) | |
download | linux-20b46dff13bd1d250dc968b318f0fac3c996b3fa.tar.gz linux-20b46dff13bd1d250dc968b318f0fac3c996b3fa.tar.bz2 linux-20b46dff13bd1d250dc968b318f0fac3c996b3fa.zip |
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>
Diffstat (limited to 'drivers/iommu/amd_iommu_init.c')
-rw-r--r-- | drivers/iommu/amd_iommu_init.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/iommu/amd_iommu_init.c b/drivers/iommu/amd_iommu_init.c index 88e7a6e950ae..c7d03251c80a 100644 --- a/drivers/iommu/amd_iommu_init.c +++ b/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(); |