aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc/kernel
diff options
context:
space:
mode:
authorKirill Tkhai <tkhai@yandex.ru>2013-12-12 14:09:50 (GMT)
committerDavid S. Miller <davem@davemloft.net>2014-01-05 01:55:19 (GMT)
commitce2521bf7d366a13e2ab3f9e1ff2084b145f4605 (patch)
tree110f8be52d40344047a2785a3a2d5e8daecb2903 /arch/sparc/kernel
parentbf70053c5d2000514ade1f60f47e1f426899af39 (diff)
sparc64: smp_callin: Enable irqs after preemption is disabled
Most of other architectures have below suggested order. So lets do the same to fit generic idle loop scheme better. Signed-off-by: Kirill Tkhai <tkhai@yandex.ru> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/kernel')
-rw-r--r--arch/sparc/kernel/smp_64.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/sparc/kernel/smp_64.c b/arch/sparc/kernel/smp_64.c
index b66a533..b085311 100644
--- a/arch/sparc/kernel/smp_64.c
+++ b/arch/sparc/kernel/smp_64.c
@@ -123,11 +123,12 @@ void smp_callin(void)
rmb();
set_cpu_online(cpuid, true);
- local_irq_enable();
/* idle thread is expected to have preempt disabled */
preempt_disable();
+ local_irq_enable();
+
cpu_startup_entry(CPUHP_ONLINE);
}

Privacy Policy