---
 kernel/sched.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Index: linux-2.6.20.7-sd/kernel/sched.c
===================================================================
--- linux-2.6.20.7-sd.orig/kernel/sched.c	2007-04-19 12:16:33.000000000 +1000
+++ linux-2.6.20.7-sd/kernel/sched.c	2007-04-19 12:17:46.000000000 +1000
@@ -702,12 +702,13 @@ static int next_entitled_slot(struct tas
 	} else {
 		int i;
 
+		search_prio = rq->prio_level[uprio];
 		/* A bound O(n) function, worst case n is 40 */
 		for (i = array->best_static_prio; i <= p->static_prio ; i++) {
 			if (!rq->prio_level[USER_PRIO(i)])
 				rq->prio_level[USER_PRIO(i)] = MAX_RT_PRIO;
-		search_prio = max(rq->prio_level[uprio],
-			rq->prio_level[USER_PRIO(i)]);
+			search_prio = max(search_prio,
+				      rq->prio_level[USER_PRIO(i)]);
 		}
 	}
 	if (unlikely(p->policy == SCHED_BATCH)) {
