diff -u --new-file --exclude-from ../exclude --recursive linux.vanilla/net/sunrpc/sched.c linux.15p6/net/sunrpc/sched.c
--- linux.vanilla/net/sunrpc/sched.c	Sat Aug 14 02:26:22 1999
+++ linux.15p6/net/sunrpc/sched.c	Mon Feb  7 12:27:35 2000
@@ -413,18 +413,15 @@
 		}
 
 		/*
-		 * No handler for next step means exit.
-		 */
-		if (!task->tk_action)
-			break;
-
-		/*
 		 * Perform the next FSM step.
 		 * tk_action may be NULL when the task has been killed
 		 * by someone else.
 		 */
-		if (RPC_IS_RUNNING(task) && task->tk_action)
+		if (RPC_IS_RUNNING(task)) {
+			if (!task->tk_action)
+				break;
 			task->tk_action(task);
+		}
 
 		/*
 		 * Check whether task is sleeping.

