diff options
| author | Kirill Tkhai <tkhai@yandex.ru> | 2013-12-12 09:09:50 -0500 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2014-01-04 20:55:19 -0500 |
| commit | ce2521bf7d366a13e2ab3f9e1ff2084b145f4605 (patch) | |
| tree | 110f8be52d40344047a2785a3a2d5e8daecb2903 | |
| parent | bf70053c5d2000514ade1f60f47e1f426899af39 (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>
| -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) | |||
| 123 | rmb(); | 123 | rmb(); |
| 124 | 124 | ||
| 125 | set_cpu_online(cpuid, true); | 125 | set_cpu_online(cpuid, true); |
| 126 | local_irq_enable(); | ||
| 127 | 126 | ||
| 128 | /* idle thread is expected to have preempt disabled */ | 127 | /* idle thread is expected to have preempt disabled */ |
| 129 | preempt_disable(); | 128 | preempt_disable(); |
| 130 | 129 | ||
| 130 | local_irq_enable(); | ||
| 131 | |||
| 131 | cpu_startup_entry(CPUHP_ONLINE); | 132 | cpu_startup_entry(CPUHP_ONLINE); |
| 132 | } | 133 | } |
| 133 | 134 | ||
