diff --git a/lustre/ldlm/ldlm_lockd.c b/lustre/ldlm/ldlm_lockd.c
index 81ef6805f2384905cbd3e585065a7f5d1c388234..bb45f4f3676f2bb43eeecef00588af2960e29c6f 100644
--- a/lustre/ldlm/ldlm_lockd.c
+++ b/lustre/ldlm/ldlm_lockd.c
@@ -1825,7 +1825,7 @@ static void ldlm_handle_cp_callback(struct ptlrpc_request *req,
 
 		while (to > 0) {
 			set_current_state(TASK_INTERRUPTIBLE);
-			schedule_timeout(to);
+			to = schedule_timeout(to);
 			if (ldlm_is_granted(lock) ||
 			    ldlm_is_destroyed(lock))
 				break;