aboutsummaryrefslogtreecommitdiffstats
path: root/net/sunrpc
diff options
context:
space:
mode:
Diffstat (limited to 'net/sunrpc')
-rw-r--r--net/sunrpc/xprtrdma/svc_rdma_recvfrom.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
index a4756576d687..629a28764da9 100644
--- a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
+++ b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
@@ -646,8 +646,7 @@ int svc_rdma_recvfrom(struct svc_rqst *rqstp)
646 ret = rdma_read_xdr(rdma_xprt, rmsgp, rqstp, ctxt); 646 ret = rdma_read_xdr(rdma_xprt, rmsgp, rqstp, ctxt);
647 if (ret > 0) { 647 if (ret > 0) {
648 /* read-list posted, defer until data received from client. */ 648 /* read-list posted, defer until data received from client. */
649 svc_xprt_received(xprt); 649 goto defer;
650 return 0;
651 } 650 }
652 if (ret < 0) { 651 if (ret < 0) {
653 /* Post of read-list failed, free context. */ 652 /* Post of read-list failed, free context. */
@@ -679,6 +678,7 @@ int svc_rdma_recvfrom(struct svc_rqst *rqstp)
679 * close bit and call svc_xprt_delete 678 * close bit and call svc_xprt_delete
680 */ 679 */
681 set_bit(XPT_CLOSE, &xprt->xpt_flags); 680 set_bit(XPT_CLOSE, &xprt->xpt_flags);
681defer:
682 svc_xprt_received(xprt); 682 svc_xprt_received(xprt);
683 return 0; 683 return 0;
684} 684}