diff options
author | Tom Tucker <tom@ogc.us> | 2010-10-12 22:33:57 +0200 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2010-10-19 01:51:32 +0200 |
commit | 4a84386fc27fdc7d2ea69fdbc641008e8f943159 (patch) | |
tree | 4d237d58f695713c72a01631d010e6387db820c7 /net/sunrpc/xprtrdma/svc_rdma_sendto.c | |
parent | svcrdma: Change DMA mapping logic to avoid the page_address kernel API (diff) | |
download | linux-4a84386fc27fdc7d2ea69fdbc641008e8f943159.tar.xz linux-4a84386fc27fdc7d2ea69fdbc641008e8f943159.zip |
svcrdma: Cleanup DMA unmapping in error paths.
There are several error paths in the code that do not unmap DMA. This
patch adds calls to svc_rdma_unmap_dma to free these DMA contexts.
Signed-off-by: Tom Tucker <tom@opengridcomputing.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'net/sunrpc/xprtrdma/svc_rdma_sendto.c')
-rw-r--r-- | net/sunrpc/xprtrdma/svc_rdma_sendto.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/sunrpc/xprtrdma/svc_rdma_sendto.c b/net/sunrpc/xprtrdma/svc_rdma_sendto.c index d4f5e0e43f09..249a835b703f 100644 --- a/net/sunrpc/xprtrdma/svc_rdma_sendto.c +++ b/net/sunrpc/xprtrdma/svc_rdma_sendto.c @@ -367,6 +367,8 @@ static int send_write(struct svcxprt_rdma *xprt, struct svc_rqst *rqstp, goto err; return 0; err: + svc_rdma_unmap_dma(ctxt); + svc_rdma_put_frmr(xprt, vec->frmr); svc_rdma_put_context(ctxt, 0); /* Fatal error, close transport */ return -EIO; |