diff --git a/kernel/sched/core.c b/kernel/sched/core.c index c5599174e7450..7cedada731c1b 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();