aboutsummaryrefslogtreecommitdiffstats
path: root/net/sunrpc/clnt.c
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2007-02-03 13:38:41 -0800
committerTrond Myklebust <Trond.Myklebust@netapp.com>2007-02-03 15:35:03 -0800
commit2efef837fb84f78cee7439804cb3722bffc64e75 (patch)
treeb69166832927f2141c4173cac456747605ea6252 /net/sunrpc/clnt.c
parent54cc533aaa0dc331ad126f0aacfb19572adee638 (diff)
downloadkernel_samsung_aries-2efef837fb84f78cee7439804cb3722bffc64e75.zip
kernel_samsung_aries-2efef837fb84f78cee7439804cb3722bffc64e75.tar.gz
kernel_samsung_aries-2efef837fb84f78cee7439804cb3722bffc64e75.tar.bz2
RPC: Clean up rpc_execute...
The error values are already propagated through task->tk_status, and none of the callers check one without checking the other, so we can drop the return value. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'net/sunrpc/clnt.c')
-rw-r--r--net/sunrpc/clnt.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c
index 16c9fbc..e9d5f3c 100644
--- a/net/sunrpc/clnt.c
+++ b/net/sunrpc/clnt.c
@@ -486,17 +486,13 @@ int rpc_call_sync(struct rpc_clnt *clnt, struct rpc_message *msg, int flags)
/* Mask signals on RPC calls _and_ GSS_AUTH upcalls */
rpc_task_sigmask(task, &oldset);
- rpc_call_setup(task, msg, 0);
-
/* Set up the call info struct and execute the task */
+ rpc_call_setup(task, msg, 0);
+ if (task->tk_status == 0) {
+ atomic_inc(&task->tk_count);
+ rpc_execute(task);
+ }
status = task->tk_status;
- if (status != 0)
- goto out;
- atomic_inc(&task->tk_count);
- status = rpc_execute(task);
- if (status == 0)
- status = task->tk_status;
-out:
rpc_put_task(task);
rpc_restore_sigmask(&oldset);
return status;