diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2013-04-23 15:52:14 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2013-04-23 15:52:14 -0400 |
commit | b0212b84fb19cf89305ab96c73abdf3a76d05ef8 (patch) | |
tree | 429daec3f580ad8f4c39e90f212d259b19ba9394 /net/sunrpc/clnt.c | |
parent | bd1d421abcaae1b84ba377ea4c33bba31d654199 (diff) | |
parent | eb04e0ac198cec3bab407ad220438dfa65c19c67 (diff) |
Merge branch 'bugfixes' into linux-next
Fix up a conflict between the linux-next branch and mainline.
Conflicts:
fs/nfs/nfs4proc.c
Diffstat (limited to 'net/sunrpc/clnt.c')
-rw-r--r-- | net/sunrpc/clnt.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c index 651245aa829a..d259fa966927 100644 --- a/net/sunrpc/clnt.c +++ b/net/sunrpc/clnt.c | |||
@@ -304,10 +304,8 @@ static struct rpc_clnt * rpc_new_client(const struct rpc_create_args *args, stru | |||
304 | err = rpciod_up(); | 304 | err = rpciod_up(); |
305 | if (err) | 305 | if (err) |
306 | goto out_no_rpciod; | 306 | goto out_no_rpciod; |
307 | err = -EINVAL; | ||
308 | if (!xprt) | ||
309 | goto out_no_xprt; | ||
310 | 307 | ||
308 | err = -EINVAL; | ||
311 | if (args->version >= program->nrvers) | 309 | if (args->version >= program->nrvers) |
312 | goto out_err; | 310 | goto out_err; |
313 | version = program->version[args->version]; | 311 | version = program->version[args->version]; |
@@ -382,10 +380,9 @@ out_no_principal: | |||
382 | out_no_stats: | 380 | out_no_stats: |
383 | kfree(clnt); | 381 | kfree(clnt); |
384 | out_err: | 382 | out_err: |
385 | xprt_put(xprt); | ||
386 | out_no_xprt: | ||
387 | rpciod_down(); | 383 | rpciod_down(); |
388 | out_no_rpciod: | 384 | out_no_rpciod: |
385 | xprt_put(xprt); | ||
389 | return ERR_PTR(err); | 386 | return ERR_PTR(err); |
390 | } | 387 | } |
391 | 388 | ||
@@ -514,7 +511,7 @@ static struct rpc_clnt *__rpc_clone_client(struct rpc_create_args *args, | |||
514 | new = rpc_new_client(args, xprt); | 511 | new = rpc_new_client(args, xprt); |
515 | if (IS_ERR(new)) { | 512 | if (IS_ERR(new)) { |
516 | err = PTR_ERR(new); | 513 | err = PTR_ERR(new); |
517 | goto out_put; | 514 | goto out_err; |
518 | } | 515 | } |
519 | 516 | ||
520 | atomic_inc(&clnt->cl_count); | 517 | atomic_inc(&clnt->cl_count); |
@@ -527,8 +524,6 @@ static struct rpc_clnt *__rpc_clone_client(struct rpc_create_args *args, | |||
527 | new->cl_chatty = clnt->cl_chatty; | 524 | new->cl_chatty = clnt->cl_chatty; |
528 | return new; | 525 | return new; |
529 | 526 | ||
530 | out_put: | ||
531 | xprt_put(xprt); | ||
532 | out_err: | 527 | out_err: |
533 | dprintk("RPC: %s: returned error %d\n", __func__, err); | 528 | dprintk("RPC: %s: returned error %d\n", __func__, err); |
534 | return ERR_PTR(err); | 529 | return ERR_PTR(err); |