[PATCH] [KDUMP] pending interrupts problem

From: Eric W. Biederman
Date: Thu Oct 27 2005 - 10:45:09 EST


Being lazy does this patch fix the problem for you?

It looks like this is enough to keep the kernel going
in the face of unexpected IPIs ...

Eric

---

arch/i386/kernel/smp.c | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)

applies-to: e6a6c8ed12ba1ef7fa376fa3993e3c329e9f294a
195ab3620ba410697ad78957226c5493d55dd2ee
diff --git a/arch/i386/kernel/smp.c b/arch/i386/kernel/smp.c
index 218d725..3d33125 100644
--- a/arch/i386/kernel/smp.c
+++ b/arch/i386/kernel/smp.c
@@ -560,6 +560,7 @@ int smp_call_function (void (*func) (voi
if (wait)
while (atomic_read(&data.finished) != cpus)
cpu_relax();
+ call_data = NULL;
spin_unlock(&call_lock);

return 0;
@@ -609,6 +610,14 @@ fastcall void smp_call_function_interrup
int wait = call_data->wait;

ack_APIC_irq();
+
+ /* Ignore spurious IPIs */
+ if (!call_data)
+ return;
+
+ func = call_data->func;
+ info = call_data->info;
+ wait = call_data->wait;
/*
* Notify initiating CPU that I've grabbed the data and am
* about to execute the function
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/