diff -urN oldtree/kernel/sched_ingosched.c newtree/kernel/sched_ingosched.c
--- oldtree/kernel/sched_ingosched.c	2006-08-19 17:01:01.608420500 -0400
+++ newtree/kernel/sched_ingosched.c	2006-08-20 05:01:34.612032000 -0400
@@ -4155,10 +4155,8 @@
 		read_unlock_irq(&tasklist_lock);
 		return -ESRCH;
 	}
-	get_task_struct(p);
-	read_unlock_irq(&tasklist_lock);
 	retval = sched_setscheduler(p, policy, &lparam);
-	put_task_struct(p);
+        read_unlock_irq(&tasklist_lock);
 
 	return retval;
 }
diff -urN oldtree/kernel/sched_staircase.c newtree/kernel/sched_staircase.c
--- oldtree/kernel/sched_staircase.c	2006-08-19 17:01:01.616421000 -0400
+++ newtree/kernel/sched_staircase.c	2006-08-20 05:02:02.945802750 -0400
@@ -4058,10 +4058,8 @@
 		read_unlock_irq(&tasklist_lock);
 		return -ESRCH;
 	}
-	get_task_struct(p);
-	read_unlock_irq(&tasklist_lock);
 	retval = sched_setscheduler(p, policy, &lparam);
-	put_task_struct(p);
+        read_unlock_irq(&tasklist_lock);
 
 	return retval;
 }
