diff options
Diffstat (limited to 'kernel/sched_rt.c')
-rw-r--r-- | kernel/sched_rt.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c index 837241568d76..1dad5bbb59b6 100644 --- a/kernel/sched_rt.c +++ b/kernel/sched_rt.c | |||
@@ -549,8 +549,10 @@ static | |||
549 | void requeue_rt_entity(struct rt_rq *rt_rq, struct sched_rt_entity *rt_se) | 549 | void requeue_rt_entity(struct rt_rq *rt_rq, struct sched_rt_entity *rt_se) |
550 | { | 550 | { |
551 | struct rt_prio_array *array = &rt_rq->active; | 551 | struct rt_prio_array *array = &rt_rq->active; |
552 | struct list_head *queue = array->queue + rt_se_prio(rt_se); | ||
552 | 553 | ||
553 | list_move_tail(&rt_se->run_list, array->queue + rt_se_prio(rt_se)); | 554 | if (on_rt_rq(rt_se)) |
555 | list_move_tail(&rt_se->run_list, queue); | ||
554 | } | 556 | } |
555 | 557 | ||
556 | static void requeue_task_rt(struct rq *rq, struct task_struct *p) | 558 | static void requeue_task_rt(struct rq *rq, struct task_struct *p) |