Messages in this thread Patch in this message | | | Subject | [PATCH] [KDUMP] pending interrupts problem | From | (Eric W. Biederman) | Date | Thu, 27 Oct 2005 09:40:12 -0600 |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |