diff options
author | David S. Miller <davem@davemloft.net> | 2009-05-17 22:55:57 +0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-05-17 22:55:57 +0400 |
commit | 74392592bbf7e93ef383588e21aea0c1450d6f12 (patch) | |
tree | 086981f9ef51d57a34fbc5fde8095652877cf739 /net/sunrpc/xprtrdma/svc_rdma_sendto.c | |
parent | 17e4d43eb6743a92d7667c822a3c3ecd63a9c58e (diff) | |
parent | 0f6f49a8cd0163fdb1723ed29f01fc65177108dc (diff) | |
download | linux-74392592bbf7e93ef383588e21aea0c1450d6f12.tar.xz |
Merge branch 'master' of /home/davem/src/GIT/linux-2.6/
Diffstat (limited to 'net/sunrpc/xprtrdma/svc_rdma_sendto.c')
-rw-r--r-- | net/sunrpc/xprtrdma/svc_rdma_sendto.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/sunrpc/xprtrdma/svc_rdma_sendto.c b/net/sunrpc/xprtrdma/svc_rdma_sendto.c index 6c26a675435a..8b510c5e8777 100644 --- a/net/sunrpc/xprtrdma/svc_rdma_sendto.c +++ b/net/sunrpc/xprtrdma/svc_rdma_sendto.c @@ -183,6 +183,7 @@ static int fast_reg_xdr(struct svcxprt_rdma *xprt, fatal_err: printk("svcrdma: Error fast registering memory for xprt %p\n", xprt); + vec->frmr = NULL; svc_rdma_put_frmr(xprt, frmr); return -EIO; } @@ -516,6 +517,7 @@ static int send_reply(struct svcxprt_rdma *rdma, "svcrdma: could not post a receive buffer, err=%d." "Closing transport %p.\n", ret, rdma); set_bit(XPT_CLOSE, &rdma->sc_xprt.xpt_flags); + svc_rdma_put_frmr(rdma, vec->frmr); svc_rdma_put_context(ctxt, 0); return -ENOTCONN; } @@ -606,6 +608,7 @@ static int send_reply(struct svcxprt_rdma *rdma, return 0; err: + svc_rdma_unmap_dma(ctxt); svc_rdma_put_frmr(rdma, vec->frmr); svc_rdma_put_context(ctxt, 1); return -EIO; |