X-Git-Url: http://git.cascardo.info/?a=blobdiff_plain;f=kernel%2Fsmpboot.c;h=13bc43d1fb227f8ee0c55a411460200a2ac3b067;hb=fed41f7d039bad02f94cad9059e4b14cd81d13f2;hp=fc0d8270f69ed412947df06890f80602f68f6ff6;hpb=c35bcfd8e4e11bdff2ffab823a13a59968426b15;p=cascardo%2Flinux.git diff --git a/kernel/smpboot.c b/kernel/smpboot.c index fc0d8270f69e..13bc43d1fb22 100644 --- a/kernel/smpboot.c +++ b/kernel/smpboot.c @@ -122,12 +122,12 @@ static int smpboot_thread_fn(void *data) if (kthread_should_park()) { __set_current_state(TASK_RUNNING); + preempt_enable(); if (ht->park && td->status == HP_THREAD_ACTIVE) { BUG_ON(td->cpu != smp_processor_id()); ht->park(td->cpu); td->status = HP_THREAD_PARKED; } - preempt_enable(); kthread_parkme(); /* We might have been woken for stop */ continue;