aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2007-10-01 12:06:44 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2007-10-09 17:20:40 -0400
commitb6e9c713f5c526a85893c6e0ab1d5d6c6f1ab479 (patch)
treecee9c5bc57c4c5bb0638508786513ea4cdb390fc /net
parent2199700f1d660494d2552278354422c51becb686 (diff)
SUNRPC: Don't call xprt_release() if call_allocate fails
It completely fouls up the RPC call statistics, and serves no useful purpose. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'net')
-rw-r--r--net/sunrpc/clnt.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c
index e9866fc93df1..e6a2678ecec3 100644
--- a/net/sunrpc/clnt.c
+++ b/net/sunrpc/clnt.c
@@ -846,8 +846,7 @@ call_allocate(struct rpc_task *task)
846 dprintk("RPC: %5u rpc_buffer allocation failed\n", task->tk_pid); 846 dprintk("RPC: %5u rpc_buffer allocation failed\n", task->tk_pid);
847 847
848 if (RPC_IS_ASYNC(task) || !signalled()) { 848 if (RPC_IS_ASYNC(task) || !signalled()) {
849 xprt_release(task); 849 task->tk_action = call_allocate;
850 task->tk_action = call_reserve;
851 rpc_delay(task, HZ>>4); 850 rpc_delay(task, HZ>>4);
852 return; 851 return;
853 } 852 }