kdump kernel sometimes will get DMAR faults which is caused by random in-flight dma from 1st kernel Here make the identity_mapping as default for this case Signed-off-by: Dave Young <dyoung at redhat.com> --- drivers/iommu/intel-iommu.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) --- linux-2.6.orig/drivers/iommu/intel-iommu.c 2011-11-01 13:06:18.667505962 +0800 +++ linux-2.6/drivers/iommu/intel-iommu.c 2011-11-01 17:07:50.789137864 +0800 @@ -40,6 +40,7 @@ #include <linux/tboot.h> #include <linux/dmi.h> #include <linux/pci-ats.h> +#include <linux/crash_dump.h> #include <asm/cacheflush.h> #include <asm/iommu.h> @@ -2488,7 +2489,7 @@ static int __init init_dmars(void) } } - if (iommu_pass_through) + if (iommu_pass_through || is_kdump_kernel()) iommu_identity_mapping |= IDENTMAP_ALL; #ifdef CONFIG_INTEL_IOMMU_BROKEN_GFX_WA