aboutsummaryrefslogtreecommitdiffstats
path: root/net/sunrpc/clnt.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/sunrpc/clnt.c')
-rw-r--r--net/sunrpc/clnt.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c
index ea14314331b0..522b06849f86 100644
--- a/net/sunrpc/clnt.c
+++ b/net/sunrpc/clnt.c
@@ -1240,10 +1240,13 @@ call_decode(struct rpc_task *task)
1240 task->tk_status); 1240 task->tk_status);
1241 return; 1241 return;
1242out_retry: 1242out_retry:
1243 req->rq_received = req->rq_private_buf.len = 0;
1244 task->tk_status = 0; 1243 task->tk_status = 0;
1245 if (task->tk_client->cl_discrtry) 1244 /* Note: call_verify() may have freed the RPC slot */
1246 xprt_force_disconnect(task->tk_xprt); 1245 if (task->tk_rqstp == req) {
1246 req->rq_received = req->rq_private_buf.len = 0;
1247 if (task->tk_client->cl_discrtry)
1248 xprt_force_disconnect(task->tk_xprt);
1249 }
1247} 1250}
1248 1251
1249/* 1252/*