diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c index e9866fc93df1346b01683da6b64a8321a15ca6e2..e6a2678ecec3ef5b2ef4fb3232ee5bedcae167de 100644 --- a/net/sunrpc/clnt.c +++ b/net/sunrpc/clnt.c @@ -846,8 +846,7 @@ call_allocate(struct rpc_task *task) dprintk("RPC: %5u rpc_buffer allocation failed\n", task->tk_pid); if (RPC_IS_ASYNC(task) || !signalled()) { - xprt_release(task); - task->tk_action = call_reserve; + task->tk_action = call_allocate; rpc_delay(task, HZ>>4); return; }