]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
SUNRPC: remove BUG_ON from xprt_destroy_backchannel
authorWeston Andros Adamson <dros@netapp.com>
Tue, 23 Oct 2012 14:43:34 +0000 (10:43 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Thu, 1 Nov 2012 16:02:13 +0000 (12:02 -0400)
If max_reqs is 0, do nothing besides the usual dprintks.

Signed-off-by: Weston Andros Adamson <dros@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
net/sunrpc/backchannel_rqst.c

index a9c0bbccad6bfb787b4ff1630a1eb7a28918e634..80aa881e38e3d5918c14073fa53452c7c557d36e 100644 (file)
@@ -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");
 }