openrisc: fix initial preempt state for secondary cpu tasks

During SMP testing we were getting the below warning after booting the
secondary cpu:

[    0.060000] BUG: scheduling while atomic: swapper/1/0/0x00000000

This change follows similar patterns from other architectures to start
the schduler with preempt disabled.

Signed-off-by: Stafford Horne <shorne@gmail.com>
This commit is contained in:
Stafford Horne 2017-07-12 17:20:38 +09:00
parent 8e6d08e0a1
commit b441aab7aa
2 changed files with 2 additions and 1 deletions

View File

@ -74,7 +74,7 @@ struct thread_info {
.task = &tsk, \ .task = &tsk, \
.flags = 0, \ .flags = 0, \
.cpu = 0, \ .cpu = 0, \
.preempt_count = 1, \ .preempt_count = INIT_PREEMPT_COUNT, \
.addr_limit = KERNEL_DS, \ .addr_limit = KERNEL_DS, \
.ksp = 0, \ .ksp = 0, \
} }

View File

@ -128,6 +128,7 @@ asmlinkage __init void secondary_start_kernel(void)
local_irq_enable(); local_irq_enable();
preempt_disable();
/* /*
* OK, it's off to the idle thread for us * OK, it's off to the idle thread for us
*/ */