summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2016-03-01 13:07:05 -0500
committerJ. Bruce Fields <bfields@redhat.com>2016-03-01 16:06:41 -0500
commitec705fd4d09be5c76178d8ac875cb4a8e91558a5 (patch)
treebf82d43ddfcceec9e4cce60702c405eb710cfeed /net
parenta0544c946dfdba9d93ad9030e7bb6db1961d45c1 (diff)
svcrdma: Remove close_out exit path
Clean up: close_out is reached only when ctxt == NULL and XPT_CLOSE is already set. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Reviewed-by: Devesh Sharma <devesh.sharma@broadcom.com> Tested-by: Devesh Sharma <devesh.sharma@broadcom.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'net')
-rw-r--r--net/sunrpc/xprtrdma/svc_rdma_recvfrom.c12
1 files changed, 1 insertions, 11 deletions
diff --git a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
index f8b840b17c02..d3718e94c169 100644
--- a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
+++ b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
@@ -641,8 +641,7 @@ int svc_rdma_recvfrom(struct svc_rqst *rqstp)
641 * transport list 641 * transport list
642 */ 642 */
643 if (test_bit(XPT_CLOSE, &xprt->xpt_flags)) 643 if (test_bit(XPT_CLOSE, &xprt->xpt_flags))
644 goto close_out; 644 goto defer;
645
646 goto out; 645 goto out;
647 } 646 }
648 dprintk("svcrdma: processing ctxt=%p on xprt=%p, rqstp=%p, status=%d\n", 647 dprintk("svcrdma: processing ctxt=%p on xprt=%p, rqstp=%p, status=%d\n",
@@ -700,15 +699,6 @@ out_err:
700 svc_rdma_put_context(ctxt, 0); 699 svc_rdma_put_context(ctxt, 0);
701 return 0; 700 return 0;
702 701
703 close_out:
704 if (ctxt)
705 svc_rdma_put_context(ctxt, 1);
706 dprintk("svcrdma: transport %p is closing\n", xprt);
707 /*
708 * Set the close bit and enqueue it. svc_recv will see the
709 * close bit and call svc_xprt_delete
710 */
711 set_bit(XPT_CLOSE, &xprt->xpt_flags);
712defer: 702defer:
713 return 0; 703 return 0;
714 704