diff options
author | Steve Wise <swise@opengridcomputing.com> | 2010-05-20 17:57:54 -0400 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2010-05-25 00:08:02 -0400 |
commit | 841dba9a5a0dbced4b4bc240f444d47f30ba6724 (patch) | |
tree | cdae26232d78a7ee0cc9db179750d37eaf9c84c1 /drivers/infiniband/hw/cxgb4 | |
parent | 7ec45b923446d484eb39434e18d354666426e606 (diff) |
RDMA/cxgb4: Return proper errors in fastreg mr/pbl allocation
Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband/hw/cxgb4')
-rw-r--r-- | drivers/infiniband/hw/cxgb4/mem.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/infiniband/hw/cxgb4/mem.c b/drivers/infiniband/hw/cxgb4/mem.c index e54ff6d25691..993ed1fe7bf6 100644 --- a/drivers/infiniband/hw/cxgb4/mem.c +++ b/drivers/infiniband/hw/cxgb4/mem.c | |||
@@ -712,8 +712,10 @@ struct ib_mr *c4iw_alloc_fast_reg_mr(struct ib_pd *pd, int pbl_depth) | |||
712 | php = to_c4iw_pd(pd); | 712 | php = to_c4iw_pd(pd); |
713 | rhp = php->rhp; | 713 | rhp = php->rhp; |
714 | mhp = kzalloc(sizeof(*mhp), GFP_KERNEL); | 714 | mhp = kzalloc(sizeof(*mhp), GFP_KERNEL); |
715 | if (!mhp) | 715 | if (!mhp) { |
716 | ret = -ENOMEM; | ||
716 | goto err; | 717 | goto err; |
718 | } | ||
717 | 719 | ||
718 | mhp->rhp = rhp; | 720 | mhp->rhp = rhp; |
719 | ret = alloc_pbl(mhp, pbl_depth); | 721 | ret = alloc_pbl(mhp, pbl_depth); |
@@ -730,8 +732,10 @@ struct ib_mr *c4iw_alloc_fast_reg_mr(struct ib_pd *pd, int pbl_depth) | |||
730 | mhp->attr.state = 1; | 732 | mhp->attr.state = 1; |
731 | mmid = (stag) >> 8; | 733 | mmid = (stag) >> 8; |
732 | mhp->ibmr.rkey = mhp->ibmr.lkey = stag; | 734 | mhp->ibmr.rkey = mhp->ibmr.lkey = stag; |
733 | if (insert_handle(rhp, &rhp->mmidr, mhp, mmid)) | 735 | if (insert_handle(rhp, &rhp->mmidr, mhp, mmid)) { |
736 | ret = -ENOMEM; | ||
734 | goto err3; | 737 | goto err3; |
738 | } | ||
735 | 739 | ||
736 | PDBG("%s mmid 0x%x mhp %p stag 0x%x\n", __func__, mmid, mhp, stag); | 740 | PDBG("%s mmid 0x%x mhp %p stag 0x%x\n", __func__, mmid, mhp, stag); |
737 | return &(mhp->ibmr); | 741 | return &(mhp->ibmr); |