diff options
author | Ivan Kokshaysky <ink@jurassic.park.msu.ru> | 2006-06-04 11:51:34 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-05 21:29:16 +0200 |
commit | c7d2d28b9851d0ffc9924b0e36bac806d18ebf25 (patch) | |
tree | f48fadad9a5cce62f7016cb48bc258928cb49114 /arch/alpha/kernel/sys_titan.c | |
parent | [PATCH] selinux: fix sb_lock/sb_security_lock nesting (diff) | |
download | linux-c7d2d28b9851d0ffc9924b0e36bac806d18ebf25.tar.xz linux-c7d2d28b9851d0ffc9924b0e36bac806d18ebf25.zip |
[PATCH] alpha: SMP IRQ routing fix
From: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
After removal of fixup_cpu_present_map() function Alpha ended up with an empty
cpu_present_map, so secondary CPUs on SMP systems are not being started.
Worse, on some platforms we route interrupts to secondary CPUs using
cpu_possible_map which is still populated properly. As a result, these
interrupts go nowhere so the machines like DP264 aren't able to boot even with
a primary CPU.
Fixed basically by s/cpu_present_mask/cpu_present_map/.
Thanks to Ernst Herzberg for reporting the bug and testing the fix.
Cc: Ernst Herzberg <list-lkml@net4u.de>
Cc: Richard Henderson <rth@twiddle.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/alpha/kernel/sys_titan.c')
-rw-r--r-- | arch/alpha/kernel/sys_titan.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/alpha/kernel/sys_titan.c b/arch/alpha/kernel/sys_titan.c index 5f84417eeb7b..2551fb49ae09 100644 --- a/arch/alpha/kernel/sys_titan.c +++ b/arch/alpha/kernel/sys_titan.c @@ -66,7 +66,7 @@ titan_update_irq_hw(unsigned long mask) register int bcpu = boot_cpuid; #ifdef CONFIG_SMP - cpumask_t cpm = cpu_present_mask; + cpumask_t cpm = cpu_present_map; volatile unsigned long *dim0, *dim1, *dim2, *dim3; unsigned long mask0, mask1, mask2, mask3, dummy; |