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.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c
index 3ae560464513..8773b4342c92 100644
--- a/net/sunrpc/clnt.c
+++ b/net/sunrpc/clnt.c
@@ -1120,7 +1120,8 @@ call_status(struct rpc_task *task)
1120 case -ETIMEDOUT: 1120 case -ETIMEDOUT:
1121 task->tk_action = call_timeout; 1121 task->tk_action = call_timeout;
1122 if (task->tk_client->cl_discrtry) 1122 if (task->tk_client->cl_discrtry)
1123 xprt_force_disconnect(task->tk_xprt); 1123 xprt_conditional_disconnect(task->tk_xprt,
1124 req->rq_connect_cookie);
1124 break; 1125 break;
1125 case -ECONNREFUSED: 1126 case -ECONNREFUSED:
1126 case -ENOTCONN: 1127 case -ENOTCONN:
@@ -1245,7 +1246,8 @@ out_retry:
1245 if (task->tk_rqstp == req) { 1246 if (task->tk_rqstp == req) {
1246 req->rq_received = req->rq_rcv_buf.len = 0; 1247 req->rq_received = req->rq_rcv_buf.len = 0;
1247 if (task->tk_client->cl_discrtry) 1248 if (task->tk_client->cl_discrtry)
1248 xprt_force_disconnect(task->tk_xprt); 1249 xprt_conditional_disconnect(task->tk_xprt,
1250 req->rq_connect_cookie);
1249 } 1251 }
1250} 1252}
1251 1253