xtensa: Enable irqs after cpu is set online

there is a small possibility that wake_up of softirq thread
happens between local_irq_enable() and set_cpu_online(). In
this case affinity of the thread changes to fallback affinity
(i.e. CPU0). This may be a source of problems.

The patch kills that possibility.

Signed-off-by: Kirill Tkhai <tkhai@yandex.ru>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
This commit is contained in:
Kirill Tkhai 2013-12-12 17:41:01 +04:00 committed by Max Filippov
parent 306ab5448f
commit abf0ea65e0
1 changed files with 2 additions and 1 deletions

View File

@ -151,9 +151,10 @@ void secondary_start_kernel(void)
secondary_init_irq();
local_timer_setup(cpu);
set_cpu_online(cpu, true);
local_irq_enable();
set_cpu_online(cpu, true);
complete(&cpu_running);
cpu_startup_entry(CPUHP_ONLINE);