summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorTony Lindgren <tony@atomide.com>2010-09-21 01:43:19 +0200
committerRussell King <rmk+kernel@arm.linux.org.uk>2010-10-04 21:23:36 +0200
commitf9e417e901e891d139f4d5fd750959e4a862d9f7 (patch)
tree39461fd5a6e3d0e22143d6bed91b54928c9ee62f /arch
parentARM: Allow SMP kernels to boot on UP systems (diff)
downloadlinux-f9e417e901e891d139f4d5fd750959e4a862d9f7.tar.xz
linux-f9e417e901e891d139f4d5fd750959e4a862d9f7.zip
ARM: 6402/1: Don't send IPI in smp_send_stop if there's only one CPU
No need to send IPI if there's one CPU, especially when booting systems with CONFIG_SMP_ON_UP that may not even support IPI. Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/kernel/smp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c
index 40dc74f2b27f..32e16da5cbce 100644
--- a/arch/arm/kernel/smp.c
+++ b/arch/arm/kernel/smp.c
@@ -567,7 +567,8 @@ void smp_send_stop(void)
{
cpumask_t mask = cpu_online_map;
cpu_clear(smp_processor_id(), mask);
- send_ipi_message(&mask, IPI_CPU_STOP);
+ if (!cpus_empty(mask))
+ send_ipi_message(&mask, IPI_CPU_STOP);
}
/*