summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kernel/sched/core.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index c5599174e745..7cedada731c1 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -4826,12 +4826,8 @@ SYSCALL_DEFINE0(sched_yield)
schedstat_inc(rq->yld_count);
current->sched_class->yield_task(rq);
- /*
- * Since we are going to call schedule() anyway, there's
- * no need to preempt or enable interrupts:
- */
preempt_disable();
- rq_unlock(rq, &rf);
+ rq_unlock_irq(rq, &rf);
sched_preempt_enable_no_resched();
schedule();