diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2009-05-17 11:20:18 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2009-05-17 11:22:46 -0400 |
commit | 826681043d7184b4d650cab5b007b9a86b628eb5 (patch) | |
tree | 03b3914863138e88a985d1d4e2e7258ec81378d5 /arch/arm/mach-realview | |
parent | 0f6f49a8cd0163fdb1723ed29f01fc65177108dc (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.h | 6 | ||||
-rw-r--r-- | arch/arm/mach-realview/platsmp.c | 4 |
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 @@ | |||
15 | /* | 15 | /* |
16 | * We use IRQ1 as the IPI | 16 | * We use IRQ1 as the IPI |
17 | */ | 17 | */ |
18 | static inline void smp_cross_call(cpumask_t callmap) | 18 | static 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 | */ |
26 | static inline void smp_cross_call_done(cpumask_t callmap) | 26 | static 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 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) | |||
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)) { |