From d07ef1739e6405e519235f836dfaaccc29475aba Mon Sep 17 00:00:00 2001 From: Weston Andros Adamson Date: Tue, 23 Oct 2012 10:43:34 -0400 Subject: [PATCH] --- yaml --- r: 346553 b: refs/heads/master c: c4ded8d9771c8e8d5d7a202d58af9c70591dd675 h: refs/heads/master i: 346551: a77faa67df66ad08be5dea8c2981e1c0d42f535a v: v3 --- [refs] | 2 +- trunk/net/sunrpc/backchannel_rqst.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index c4fee8e3573a..26f89ca0335d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e454a7a83d20cc5ec338ad0e3abae85f10d5a0c4 +refs/heads/master: c4ded8d9771c8e8d5d7a202d58af9c70591dd675 diff --git a/trunk/net/sunrpc/backchannel_rqst.c b/trunk/net/sunrpc/backchannel_rqst.c index a9c0bbccad6b..80aa881e38e3 100644 --- a/trunk/net/sunrpc/backchannel_rqst.c +++ b/trunk/net/sunrpc/backchannel_rqst.c @@ -191,7 +191,9 @@ void xprt_destroy_backchannel(struct rpc_xprt *xprt, unsigned int max_reqs) dprintk("RPC: destroy backchannel transport\n"); - BUG_ON(max_reqs == 0); + if (max_reqs == 0) + goto out; + spin_lock_bh(&xprt->bc_pa_lock); xprt_dec_alloc_count(xprt, max_reqs); list_for_each_entry_safe(req, tmp, &xprt->bc_pa_list, rq_bc_pa_list) { @@ -202,6 +204,7 @@ void xprt_destroy_backchannel(struct rpc_xprt *xprt, unsigned int max_reqs) } spin_unlock_bh(&xprt->bc_pa_lock); +out: dprintk("RPC: backchannel list empty= %s\n", list_empty(&xprt->bc_pa_list) ? "true" : "false"); }