From: Baoquan HE <b...@dhcp-129-10.nay.redhat.com> The init should have been done in normal kernel, skip it in kdump kernel. And clean up the function comments.
Signed-off-by: Baoquan He <b...@redhat.com> --- drivers/iommu/amd_iommu_init.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/iommu/amd_iommu_init.c b/drivers/iommu/amd_iommu_init.c index 66a1fa5..47e5972 100644 --- a/drivers/iommu/amd_iommu_init.c +++ b/drivers/iommu/amd_iommu_init.c @@ -1432,7 +1432,11 @@ static int __init amd_iommu_init_pci(void) break; } - init_device_table_dma(); + for_each_iommu(iommu) { + if ( !translation_pre_enabled(iommu) ) + init_device_table_dma(); + break; + } for_each_iommu(iommu) iommu_flush_all_caches(iommu); @@ -1612,8 +1616,7 @@ static int __init init_memory_definitions(struct acpi_table_header *table) } /* - * Init the device table to not allow DMA access for devices and - * suppress all page faults + * Init the device table to not allow DMA access for devices. */ static void init_device_table_dma(void) { -- 2.5.5