]> err.no Git - linux-2.6/blobdiff - kernel/sched.c
[PATCH] genirq: add irq-chip support
[linux-2.6] / kernel / sched.c
index 08431f07a999f56e7be0f2f685f19df7119264ac..2629c1711fd62be84574153e0ae62077895f3b36 100644 (file)
@@ -4070,6 +4070,8 @@ recheck:
        __task_rq_unlock(rq);
        spin_unlock_irqrestore(&p->pi_lock, flags);
 
+       rt_mutex_adjust_pi(p);
+
        return 0;
 }
 EXPORT_SYMBOL_GPL(sched_setscheduler);
@@ -4091,8 +4093,10 @@ do_sched_setscheduler(pid_t pid, int policy, struct sched_param __user *param)
                read_unlock_irq(&tasklist_lock);
                return -ESRCH;
        }
-       retval = sched_setscheduler(p, policy, &lparam);
+       get_task_struct(p);
        read_unlock_irq(&tasklist_lock);
+       retval = sched_setscheduler(p, policy, &lparam);
+       put_task_struct(p);
        return retval;
 }