diff options
author | Tom Tucker <tom@ogc.us> | 2010-10-12 16:33:57 -0400 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2010-10-18 19:51:32 -0400 |
commit | 4a84386fc27fdc7d2ea69fdbc641008e8f943159 (patch) | |
tree | 4d237d58f695713c72a01631d010e6387db820c7 /net/sunrpc/xprtrdma/svc_rdma_sendto.c | |
parent | b432e6b3d9c1b4271c43f02b45136f33a8ed5820 (diff) |
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, | |||
367 | goto err; | 367 | goto err; |
368 | return 0; | 368 | return 0; |
369 | err: | 369 | err: |
370 | svc_rdma_unmap_dma(ctxt); | ||
371 | svc_rdma_put_frmr(xprt, vec->frmr); | ||
370 | svc_rdma_put_context(ctxt, 0); | 372 | svc_rdma_put_context(ctxt, 0); |
371 | /* Fatal error, close transport */ | 373 | /* Fatal error, close transport */ |
372 | return -EIO; | 374 | return -EIO; |