diff options
Diffstat (limited to 'net/sunrpc/clnt.c')
-rw-r--r-- | net/sunrpc/clnt.c | 6 |
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 | ||