I looked at this some more. Looks like we do not clear irqs when we do a kexec reboot. And, the bootup code maintains the same table for the kexec-ed kernel. I'm looking at the following code in intel_irq_remapping.c: if (ir_pre_enabled(iommu)) { if (!is_kdump_kernel()) { pr_warn("IRQ remapping was enabled on %s but we are not in kdump mode\n", iommu->name); clear_ir_pre_enabled(iommu); iommu_disable_irq_remapping(iommu); } else if (iommu_load_old_irte(iommu)) pr_err("Failed to copy IR table for %s from previous kernel\n", iommu->name); else pr_info("Copied IR table for %s from previous kernel\n", iommu->name); } Would cleaning the interrupts(like in the non kdump path above) just before shutdown help here? This should clear the interrupts enabled for all the devices in the current kernel. So when kdump kernel starts, it starts clean. This should probably help block out the interrupts from a device that does not have a driver. -Deepa _______________________________________________ kexec mailing list kexec@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/kexec