diff options
author | Kirill Tkhai <tkhai@yandex.ru> | 2013-12-12 18:09:50 +0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-01-05 05:55:19 +0400 |
commit | ce2521bf7d366a13e2ab3f9e1ff2084b145f4605 (patch) | |
tree | 110f8be52d40344047a2785a3a2d5e8daecb2903 /arch | |
parent | bf70053c5d2000514ade1f60f47e1f426899af39 (diff) | |
download | linux-ce2521bf7d366a13e2ab3f9e1ff2084b145f4605.tar.xz |
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')
-rw-r--r-- | arch/sparc/kernel/smp_64.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/sparc/kernel/smp_64.c b/arch/sparc/kernel/smp_64.c index b66a5338231e..b085311dcd0e 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); } |