From eee6f4329c2247289a8e076fce57f6cd29c2de08 Mon Sep 17 00:00:00 2001 From: Benjamin Herrenschmidt Date: Thu, 10 May 2007 22:22:47 -0700 Subject: [PATCH] --- yaml --- r: 55905 b: refs/heads/master c: a12bb44471b819c7f33d8a83044e7116c124e3d5 h: refs/heads/master i: 55903: c376a2b48162d61efa9c7d97dc99a2743812ab76 v: v3 --- [refs] | 2 +- trunk/kernel/stop_machine.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 91a8e600181f..b80a8c979aba 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2d3fbbb391e280724f7f7804ab00ff61cf1b6a4c +refs/heads/master: a12bb44471b819c7f33d8a83044e7116c124e3d5 diff --git a/trunk/kernel/stop_machine.c b/trunk/kernel/stop_machine.c index daabb74ee0bc..fcee2a8e6da3 100644 --- a/trunk/kernel/stop_machine.c +++ b/trunk/kernel/stop_machine.c @@ -8,6 +8,8 @@ #include #include #include +#include + #include #include #include @@ -45,6 +47,7 @@ static int stopmachine(void *cpu) if (stopmachine_state == STOPMACHINE_DISABLE_IRQ && !irqs_disabled) { local_irq_disable(); + hard_irq_disable(); irqs_disabled = 1; /* Ack: irqs disabled. */ smp_mb(); /* Must read state first. */ @@ -124,6 +127,7 @@ static int stop_machine(void) /* Make them disable irqs. */ local_irq_disable(); + hard_irq_disable(); stopmachine_set_state(STOPMACHINE_DISABLE_IRQ); return 0;