diff options
Diffstat (limited to 'kernel/sched/core.c')
| -rw-r--r-- | kernel/sched/core.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 1711e9e50100..ee7dfbf01792 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -7352,15 +7352,12 @@ void rt_mutex_setprio(struct task_struct *p, struct task_struct *pi_task) p->prio = prio; } out_unlock: - /* Avoid rq from going away on us: */ - preempt_disable(); + /* Caller holds task_struct::pi_lock, IRQs are still disabled */ rq_unpin_lock(rq, &rf); __balance_callbacks(rq); rq_repin_lock(rq, &rf); __task_rq_unlock(rq, p, &rf); - - preempt_enable(); } #endif /* CONFIG_RT_MUTEXES */ |
