summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kokshaysky <ink@jurassic.park.msu.ru>2005-07-01 16:46:26 +0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-07-01 08:20:23 -0700
commit4a89a04f1ee21a7c1f4413f1ad7dcfac50ff9b63 (patch)
tree18e85e7f3656b7a009096cd55788d2c150cddadd
parentef6689eff4b58273fed9e54293a3da983b321e9a (diff)
downloadlinux-3.10-4a89a04f1ee21a7c1f4413f1ad7dcfac50ff9b63.tar.gz
linux-3.10-4a89a04f1ee21a7c1f4413f1ad7dcfac50ff9b63.tar.bz2
linux-3.10-4a89a04f1ee21a7c1f4413f1ad7dcfac50ff9b63.zip
[PATCH] alpha smp fix (part #2)
This fixes the bug that caused BUG_ON(!irqs_disabled()) to trigger in run_posix_cpu_timers() on alpha/smp. We didn't disable interrupts properly before calling smp_percpu_timer_interrupt(). We *do* disable interrupts everywhere except this unfortunate smp_percpu_timer_interrupt(). Fixed thus. Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--arch/alpha/kernel/irq_alpha.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/alpha/kernel/irq_alpha.c b/arch/alpha/kernel/irq_alpha.c
index e6ded33c6e2..9d34ce26e5e 100644
--- a/arch/alpha/kernel/irq_alpha.c
+++ b/arch/alpha/kernel/irq_alpha.c
@@ -55,6 +55,8 @@ do_entInt(unsigned long type, unsigned long vector,
#ifdef CONFIG_SMP
{
long cpu;
+
+ local_irq_disable();
smp_percpu_timer_interrupt(regs);
cpu = smp_processor_id();
if (cpu != boot_cpuid) {