diff options
Diffstat (limited to 'net/sunrpc/clnt.c')
-rw-r--r-- | net/sunrpc/clnt.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c index 7aeffeebf42..6eb79c49c93 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 */ |