diff --git a/[refs] b/[refs] index d98a624a53a5..bed68270a5b8 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6956dc568f34107f1d02b24f87efe7250803fc87 +refs/heads/master: 45afb1734fa6323a8ba08bd6c392ee227df67dde diff --git a/trunk/kernel/sched/core.c b/trunk/kernel/sched/core.c index 5d011ef4c0df..2cb4e7777998 100644 --- a/trunk/kernel/sched/core.c +++ b/trunk/kernel/sched/core.c @@ -4340,9 +4340,7 @@ static int __sched_setscheduler(struct task_struct *p, int policy, */ if (unlikely(policy == p->policy && (!rt_policy(policy) || param->sched_priority == p->rt_priority))) { - - __task_rq_unlock(rq); - raw_spin_unlock_irqrestore(&p->pi_lock, flags); + task_rq_unlock(rq, p, &flags); return 0; }