Commit 36dc13b9 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] sched_init enables interrupts too early

wake_up_forked_process() unconditionally enables interrupts.  It is called
from sched_init().  Enabling interrupts that early makes Anton's ppc64
machine lock up.
parent c66c8088
...@@ -506,7 +506,8 @@ int wake_up_state(task_t *p, unsigned int state) ...@@ -506,7 +506,8 @@ int wake_up_state(task_t *p, unsigned int state)
*/ */
void wake_up_forked_process(task_t * p) void wake_up_forked_process(task_t * p)
{ {
runqueue_t *rq = this_rq_lock(); unsigned long flags;
runqueue_t *rq = task_rq_lock(current, &flags);
p->state = TASK_RUNNING; p->state = TASK_RUNNING;
if (!rt_task(p)) { if (!rt_task(p)) {
...@@ -522,7 +523,7 @@ void wake_up_forked_process(task_t * p) ...@@ -522,7 +523,7 @@ void wake_up_forked_process(task_t * p)
set_task_cpu(p, smp_processor_id()); set_task_cpu(p, smp_processor_id());
activate_task(p, rq); activate_task(p, rq);
rq_unlock(rq); task_rq_unlock(rq, &flags);
} }
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment