diff options
Diffstat (limited to 'arch/arm/kernel/smp.c')
-rw-r--r-- | arch/arm/kernel/smp.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c index 1d0fa9cde229..31a129b46b0f 100644 --- a/arch/arm/kernel/smp.c +++ b/arch/arm/kernel/smp.c @@ -314,14 +314,19 @@ asmlinkage void __cpuinit secondary_start_kernel(void) * before we continue. */ set_cpu_online(cpu, true); - while (!cpu_active(cpu)) - cpu_relax(); /* * Setup the percpu timer for this CPU. */ percpu_timer_setup(); + while (!cpu_active(cpu)) + cpu_relax(); + + /* + * cpu_active bit is set, so it's safe to enalbe interrupts + * now. + */ local_irq_enable(); local_fiq_enable(); |