diff options
author | Julia Lawall <julia@diku.dk> | 2011-10-06 09:33:24 -0700 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2011-10-06 09:33:24 -0700 |
commit | e2e435f290795e409a649423f19574ba77942854 (patch) | |
tree | 826759466f4998627fcf4edc123de0b47f6daed3 /drivers/infiniband/hw | |
parent | 976d167615b64e14bc1491ca51d424e2ba9a5e84 (diff) | |
download | blackbird-op-linux-e2e435f290795e409a649423f19574ba77942854.tar.gz blackbird-op-linux-e2e435f290795e409a649423f19574ba77942854.zip |
RDMA/nes: Add missing calls to ib_umem_release()
Add calls to ib_umem_release(), as in the other error-handling code in
nes_reg_user_mr().
Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/infiniband/hw')
-rw-r--r-- | drivers/infiniband/hw/nes/nes_verbs.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/nes/nes_verbs.c b/drivers/infiniband/hw/nes/nes_verbs.c index 9f2f7d4b1197..394d0e7e4a5c 100644 --- a/drivers/infiniband/hw/nes/nes_verbs.c +++ b/drivers/infiniband/hw/nes/nes_verbs.c @@ -2338,8 +2338,10 @@ static struct ib_mr *nes_reg_user_mr(struct ib_pd *pd, u64 start, u64 length, skip_pages = ((u32)region->offset) >> 12; - if (ib_copy_from_udata(&req, udata, sizeof(req))) + if (ib_copy_from_udata(&req, udata, sizeof(req))) { + ib_umem_release(region); return ERR_PTR(-EFAULT); + } nes_debug(NES_DBG_MR, "Memory Registration type = %08X.\n", req.reg_type); switch (req.reg_type) { @@ -2631,6 +2633,7 @@ static struct ib_mr *nes_reg_user_mr(struct ib_pd *pd, u64 start, u64 length, return &nesmr->ibmr; } + ib_umem_release(region); return ERR_PTR(-ENOSYS); } |