summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-realview
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2009-05-17 17:20:18 +0200
committerRussell King <rmk+kernel@arm.linux.org.uk>2009-05-17 17:22:46 +0200
commit826681043d7184b4d650cab5b007b9a86b628eb5 (patch)
tree03b3914863138e88a985d1d4e2e7258ec81378d5 /arch/arm/mach-realview
parentFix caller information for warn_slowpath_null (diff)
downloadlinux-826681043d7184b4d650cab5b007b9a86b628eb5.tar.xz
linux-826681043d7184b4d650cab5b007b9a86b628eb5.zip
[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 515819efd046..e2ff53402f8c 100644
--- a/arch/arm/mach-realview/include/mach/smp.h
+++ b/arch/arm/mach-realview/include/mach/smp.h
@@ -15,15 +15,15 @@
/*
* We use IRQ1 as the IPI
*/
-static inline void smp_cross_call(cpumask_t callmap)
+static inline void smp_cross_call(const struct cpumask *mask)
{
- gic_raise_softirq(callmap, 1);
+ gic_raise_softirq(mask, 1);
}
/*
* Do nothing on MPcore.
*/
-static inline void smp_cross_call_done(cpumask_t callmap)
+static inline void smp_cross_call_done(const struct cpumask *mask)
{
}
diff --git a/arch/arm/mach-realview/platsmp.c b/arch/arm/mach-realview/platsmp.c
index ea3c75595fa9..a5730466dff5 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)
* to get this processor out of WFI in the BootMonitor - make
* sure that we are no longer being sent this soft interrupt
*/
- smp_cross_call_done(cpumask_of_cpu(cpu));
+ smp_cross_call_done(cpumask_of(cpu));
/*
* if any interrupts are already enabled for the primary
@@ -136,7 +136,7 @@ int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle)
* Use smp_cross_call() for this, since there's little
* point duplicating the code here
*/
- smp_cross_call(cpumask_of_cpu(cpu));
+ smp_cross_call(cpumask_of(cpu));
timeout = jiffies + (1 * HZ);
while (time_before(jiffies, timeout)) {