diff options
Diffstat (limited to 'drivers/infiniband/hw/cxgb4/mem.c')
-rw-r--r-- | drivers/infiniband/hw/cxgb4/mem.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/infiniband/hw/cxgb4/mem.c b/drivers/infiniband/hw/cxgb4/mem.c index e54ff6d25691..7f94da1a2437 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); |
@@ -755,9 +759,6 @@ struct ib_fast_reg_page_list *c4iw_alloc_fastreg_pbl(struct ib_device *device, | |||
755 | dma_addr_t dma_addr; | 759 | dma_addr_t dma_addr; |
756 | int size = sizeof *c4pl + page_list_len * sizeof(u64); | 760 | int size = sizeof *c4pl + page_list_len * sizeof(u64); |
757 | 761 | ||
758 | if (page_list_len > T4_MAX_FR_DEPTH) | ||
759 | return ERR_PTR(-EINVAL); | ||
760 | |||
761 | c4pl = dma_alloc_coherent(&dev->rdev.lldi.pdev->dev, size, | 762 | c4pl = dma_alloc_coherent(&dev->rdev.lldi.pdev->dev, size, |
762 | &dma_addr, GFP_KERNEL); | 763 | &dma_addr, GFP_KERNEL); |
763 | if (!c4pl) | 764 | if (!c4pl) |