Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f5efb41e793ce587836b89b7191083b9a6185ed5 Commit: f5efb41e793ce587836b89b7191083b9a6185ed5 Parent: 9062d888aa448318e38792b6879a795dd10adda4 Author: Fernando Luis [** ISO-8859-1 charset **] V�zquezCao <[EMAIL PROTECTED]> AuthorDate: Wed May 2 19:27:18 2007 +0200 Committer: Andi Kleen <[EMAIL PROTECTED]> CommitDate: Wed May 2 19:27:18 2007 +0200
[PATCH] i386: Use safe_apic_wait_icr_idle in safe_apic_wait_icr_idle - i386 Use safe_apic_wait_icr_idle to check ICR idle bit if the vector is NMI_VECTOR to avoid potential hangups in the event of crash when kdump tries to stop the other CPUs. Signed-off-by: Fernando Luis Vazquez Cao <[EMAIL PROTECTED]> Signed-off-by: Andi Kleen <[EMAIL PROTECTED]> --- arch/i386/kernel/smp.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/arch/i386/kernel/smp.c b/arch/i386/kernel/smp.c index d14ffe2..f866710 100644 --- a/arch/i386/kernel/smp.c +++ b/arch/i386/kernel/smp.c @@ -175,7 +175,10 @@ static inline void __send_IPI_dest_field(unsigned long mask, int vector) /* * Wait for idle. */ - apic_wait_icr_idle(); + if (unlikely(vector == NMI_VECTOR)) + safe_apic_wait_icr_idle(); + else + apic_wait_icr_idle(); /* * prepare target chip field - To unsubscribe from this list: send the line "unsubscribe git-commits-head" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html