summaryrefslogtreecommitdiff
path: root/net/sunrpc/clnt.c
diff options
context:
space:
mode:
authorTrond Myklebust <trond.myklebust@primarydata.com>2014-03-19 13:25:43 -0400
committerTrond Myklebust <trond.myklebust@primarydata.com>2014-03-19 17:19:42 -0400
commit9455e3f43b017f560daf4289d0fa295a33976f2a (patch)
tree5f524a49dbcfd78a3f91a772ec5471f42340b542 /net/sunrpc/clnt.c
parent150e7260f309fd07e853c05f7fc55b7cccb4780d (diff)
downloadlwn-9455e3f43b017f560daf4289d0fa295a33976f2a.tar.gz
lwn-9455e3f43b017f560daf4289d0fa295a33976f2a.zip
SUNRPC: Ensure call_status() deals correctly with SOFTCONN tasks
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'net/sunrpc/clnt.c')
-rw-r--r--net/sunrpc/clnt.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c
index cea1308a6fda..ef96568902c5 100644
--- a/net/sunrpc/clnt.c
+++ b/net/sunrpc/clnt.c
@@ -2004,6 +2004,10 @@ call_status(struct rpc_task *task)
case -EHOSTDOWN:
case -EHOSTUNREACH:
case -ENETUNREACH:
+ if (RPC_IS_SOFTCONN(task)) {
+ rpc_exit(task, status);
+ break;
+ }
/*
* Delay any retries for 3 seconds, then handle as if it
* were a timeout.