summaryrefslogtreecommitdiffstats
path: root/arch/mips/kernel/smp.c
diff options
context:
space:
mode:
authorYong Zhang <yong.zhang@windriver.com>2012-07-19 09:13:53 +0200
committerRalf Baechle <ralf@linux-mips.org>2012-07-19 11:23:44 +0200
commit5309bdac7029c7d8659d6653761f3402e17ed1ab (patch)
tree84699d143aa3320901b1b38c82833a993b48ee47 /arch/mips/kernel/smp.c
parentMIPS: Yosemite: delay irq enable to ->smp_finish() (diff)
downloadlinux-5309bdac7029c7d8659d6653761f3402e17ed1ab.tar.xz
linux-5309bdac7029c7d8659d6653761f3402e17ed1ab.zip
MIPS: call ->smp_finish() a little late
We have move irq enable to ->smp_finish. Place ->smp_finish() a little late to prepare for move set_cpu_online() into start_secondary. And it's not necessary to call cpu_set(cpu, cpu_callin_map) and synchronise_count_slave() with irq enabled. Signed-off-by: Yong Zhang <yong.zhang0@gmail.com> Cc: Sergei Shtylyov <sshtylyov@mvista.com> Cc: David Daney <david.daney@cavium.com> Acked-by: David Daney <david.daney@cavium.com> Patchwork: https://patchwork.linux-mips.org/patch/3850/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/kernel/smp.c')
-rw-r--r--arch/mips/kernel/smp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c
index 48650c818040..b181bbf410de 100644
--- a/arch/mips/kernel/smp.c
+++ b/arch/mips/kernel/smp.c
@@ -122,13 +122,14 @@ asmlinkage __cpuinit void start_secondary(void)
notify_cpu_starting(cpu);
- mp_ops->smp_finish();
set_cpu_sibling_map(cpu);
cpu_set(cpu, cpu_callin_map);
synchronise_count_slave();
+ mp_ops->smp_finish();
+
cpu_idle();
}