Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a12bb44471b819c7f33d8a83044e7116c124e3d5 Commit: a12bb44471b819c7f33d8a83044e7116c124e3d5 Parent: 2d3fbbb391e280724f7f7804ab00ff61cf1b6a4c Author: Benjamin Herrenschmidt <[EMAIL PROTECTED]> AuthorDate: Thu May 10 22:22:47 2007 -0700 Committer: Linus Torvalds <[EMAIL PROTECTED]> CommitDate: Fri May 11 08:29:34 2007 -0700
stop_machine() now uses hard_irq_disable Add a call to hard_irq_disable() to stop_machine so that we make sure IRQs are really disabled and not only lazy-disabled on archs like powerpc as some users of stop_machine() may rely on that. [EMAIL PROTECTED]: build fix] Signed-off-by: Benjamin Herrenschmidt <[EMAIL PROTECTED]> Acked-by: Rusty Russell <[EMAIL PROTECTED]> Cc: Paul Mackerras <[EMAIL PROTECTED]> Signed-off-by: Andrew Morton <[EMAIL PROTECTED]> Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]> --- kernel/stop_machine.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/kernel/stop_machine.c b/kernel/stop_machine.c index daabb74..fcee2a8 100644 --- a/kernel/stop_machine.c +++ b/kernel/stop_machine.c @@ -8,6 +8,8 @@ #include <linux/sched.h> #include <linux/stop_machine.h> #include <linux/syscalls.h> +#include <linux/interrupt.h> + #include <asm/atomic.h> #include <asm/semaphore.h> #include <asm/uaccess.h> @@ -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; - 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