aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorYong Zhang <yong.zhang@windriver.com>2012-07-19 03:13:53 -0400
committerRalf Baechle <ralf@linux-mips.org>2012-07-19 05:23:44 -0400
commit5309bdac7029c7d8659d6653761f3402e17ed1ab (patch)
tree84699d143aa3320901b1b38c82833a993b48ee47 /arch
parent263afbdd1cdd49338c118a3064acee01c69bb501 (diff)
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')
-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)
122 122
123 notify_cpu_starting(cpu); 123 notify_cpu_starting(cpu);
124 124
125 mp_ops->smp_finish();
126 set_cpu_sibling_map(cpu); 125 set_cpu_sibling_map(cpu);
127 126
128 cpu_set(cpu, cpu_callin_map); 127 cpu_set(cpu, cpu_callin_map);
129 128
130 synchronise_count_slave(); 129 synchronise_count_slave();
131 130
131 mp_ops->smp_finish();
132
132 cpu_idle(); 133 cpu_idle();
133} 134}
134 135