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.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c
index 7aeffeebf42d..6eb79c49c937 100644
--- a/net/sunrpc/clnt.c
+++ b/net/sunrpc/clnt.c
@@ -540,13 +540,10 @@ struct rpc_task *rpc_run_task(const struct rpc_task_setup *task_setup_data)
540 goto out; 540 goto out;
541 } 541 }
542 542
543 if (task_setup_data->rpc_message != NULL) { 543 if (task->tk_status != 0) {
544 rpc_call_setup(task, task_setup_data->rpc_message, 0); 544 ret = ERR_PTR(task->tk_status);
545 if (task->tk_status != 0) { 545 rpc_put_task(task);
546 ret = ERR_PTR(task->tk_status); 546 goto out;
547 rpc_put_task(task);
548 goto out;
549 }
550 } 547 }
551 atomic_inc(&task->tk_count); 548 atomic_inc(&task->tk_count);
552 /* Mask signals on synchronous RPC calls and RPCSEC_GSS upcalls */ 549 /* Mask signals on synchronous RPC calls and RPCSEC_GSS upcalls */