aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-realview
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2009-05-17 11:20:18 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2009-05-17 11:22:46 -0400
commit826681043d7184b4d650cab5b007b9a86b628eb5 (patch)
tree03b3914863138e88a985d1d4e2e7258ec81378d5 /arch/arm/mach-realview
parent0f6f49a8cd0163fdb1723ed29f01fc65177108dc (diff)
[ARM] smp: fix cpumask usage in ARM SMP code
The ARM SMP code wasn't properly updated for the cpumask changes, which results in smp_timer_broadcast() broadcasting ticks to non-online CPUs. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-realview')
-rw-r--r--arch/arm/mach-realview/include/mach/smp.h6
-rw-r--r--arch/arm/mach-realview/platsmp.c4
2 files changed, 5 insertions, 5 deletions
diff --git a/arch/arm/mach-realview/include/mach/smp.h b/arch/arm/mach-realview/include/mach/smp.h
index 515819efd04..e2ff53402f8 100644
--- a/arch/arm/mach-realview/include/mach/smp.h
+++ b/arch/arm/mach-realview/include/mach/smp.h
@@ -15,15 +15,15 @@
15/* 15/*
16 * We use IRQ1 as the IPI 16 * We use IRQ1 as the IPI
17 */ 17 */
18static inline void smp_cross_call(cpumask_t callmap) 18static inline void smp_cross_call(const struct cpumask *mask)
19{ 19{
20 gic_raise_softirq(callmap, 1); 20 gic_raise_softirq(mask, 1);
21} 21}
22 22
23/* 23/*
24 * Do nothing on MPcore. 24 * Do nothing on MPcore.
25 */ 25 */
26static inline void smp_cross_call_done(cpumask_t callmap) 26static inline void smp_cross_call_done(const struct cpumask *mask)
27{ 27{
28} 28}
29 29
diff --git a/arch/arm/mach-realview/platsmp.c b/arch/arm/mach-realview/platsmp.c
index ea3c75595fa..a5730466dff 100644
--- a/arch/arm/mach-realview/platsmp.c
+++ b/arch/arm/mach-realview/platsmp.c
@@ -82,7 +82,7 @@ void __cpuinit platform_secondary_init(unsigned int cpu)
82 * to get this processor out of WFI in the BootMonitor - make 82 * to get this processor out of WFI in the BootMonitor - make
83 * sure that we are no longer being sent this soft interrupt 83 * sure that we are no longer being sent this soft interrupt
84 */ 84 */
85 smp_cross_call_done(cpumask_of_cpu(cpu)); 85 smp_cross_call_done(cpumask_of(cpu));
86 86
87 /* 87 /*
88 * if any interrupts are already enabled for the primary 88 * if any interrupts are already enabled for the primary
@@ -136,7 +136,7 @@ int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle)
136 * Use smp_cross_call() for this, since there's little 136 * Use smp_cross_call() for this, since there's little
137 * point duplicating the code here 137 * point duplicating the code here
138 */ 138 */
139 smp_cross_call(cpumask_of_cpu(cpu)); 139 smp_cross_call(cpumask_of(cpu));
140 140
141 timeout = jiffies + (1 * HZ); 141 timeout = jiffies + (1 * HZ);
142 while (time_before(jiffies, timeout)) { 142 while (time_before(jiffies, timeout)) {