aboutsummaryrefslogtreecommitdiffstats
path: root/net/sunrpc/clnt.c
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2013-04-23 15:52:14 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2013-04-23 15:52:14 -0400
commitb0212b84fb19cf89305ab96c73abdf3a76d05ef8 (patch)
tree429daec3f580ad8f4c39e90f212d259b19ba9394 /net/sunrpc/clnt.c
parentbd1d421abcaae1b84ba377ea4c33bba31d654199 (diff)
parenteb04e0ac198cec3bab407ad220438dfa65c19c67 (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.c11
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:
382out_no_stats: 380out_no_stats:
383 kfree(clnt); 381 kfree(clnt);
384out_err: 382out_err:
385 xprt_put(xprt);
386out_no_xprt:
387 rpciod_down(); 383 rpciod_down();
388out_no_rpciod: 384out_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
530out_put:
531 xprt_put(xprt);
532out_err: 527out_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);