From: Leon Romanovsky <[email protected]>

There is no need to store resize_cqe and resize_umem in CQ object.
Let's remove them.

Signed-off-by: Leon Romanovsky <[email protected]>
---
 drivers/infiniband/hw/bnxt_re/ib_verbs.c | 37 +++++++++++---------------------
 drivers/infiniband/hw/bnxt_re/ib_verbs.h |  2 --
 2 files changed, 13 insertions(+), 26 deletions(-)

diff --git a/drivers/infiniband/hw/bnxt_re/ib_verbs.c 
b/drivers/infiniband/hw/bnxt_re/ib_verbs.c
index d544a4fb1e96..9a8bdb52097f 100644
--- a/drivers/infiniband/hw/bnxt_re/ib_verbs.c
+++ b/drivers/infiniband/hw/bnxt_re/ib_verbs.c
@@ -3320,6 +3320,8 @@ int bnxt_re_resize_cq(struct ib_cq *ibcq, unsigned int 
cqe,
        struct bnxt_re_resize_cq_req req;
        struct bnxt_re_dev *rdev;
        struct bnxt_re_cq *cq;
+       struct ib_umem *umem;
+
        int rc, entries;
 
        cq =  container_of(ibcq, struct bnxt_re_cq, ib_cq);
@@ -3336,26 +3338,18 @@ int bnxt_re_resize_cq(struct ib_cq *ibcq, unsigned int 
cqe,
                entries = dev_attr->max_cq_wqes + 1;
 
        /* uverbs consumer */
-       if (ib_copy_from_udata(&req, udata, sizeof(req))) {
-               rc = -EFAULT;
-               goto fail;
-       }
+       if (ib_copy_from_udata(&req, udata, sizeof(req)))
+               return -EFAULT;
 
-       cq->resize_umem = ib_umem_get(&rdev->ibdev, req.cq_va,
-                                     entries * sizeof(struct cq_base),
-                                     IB_ACCESS_LOCAL_WRITE);
-       if (IS_ERR(cq->resize_umem)) {
-               rc = PTR_ERR(cq->resize_umem);
-               ibdev_err(&rdev->ibdev, "%s: ib_umem_get failed! rc = %pe\n",
-                         __func__, cq->resize_umem);
-               cq->resize_umem = NULL;
-               return rc;
-       }
-       cq->resize_cqe = entries;
+       umem = ib_umem_get(&rdev->ibdev, req.cq_va,
+                          entries * sizeof(struct cq_base),
+                          IB_ACCESS_LOCAL_WRITE);
+       if (IS_ERR(umem))
+               return PTR_ERR(umem);
        memcpy(&sg_info, &cq->qplib_cq.sg_info, sizeof(sg_info));
        orig_dpi = cq->qplib_cq.dpi;
 
-       cq->qplib_cq.sg_info.umem = cq->resize_umem;
+       cq->qplib_cq.sg_info.umem = umem;
        cq->qplib_cq.sg_info.pgsize = PAGE_SIZE;
        cq->qplib_cq.sg_info.pgshft = PAGE_SHIFT;
        cq->qplib_cq.dpi = &uctx->dpi;
@@ -3369,21 +3363,16 @@ int bnxt_re_resize_cq(struct ib_cq *ibcq, unsigned int 
cqe,
 
        bnxt_qplib_resize_cq_complete(&rdev->qplib_res, &cq->qplib_cq);
 
-       cq->qplib_cq.max_wqe = cq->resize_cqe;
+       cq->qplib_cq.max_wqe = entries;
        ib_umem_release(cq->ib_cq.umem);
-       cq->ib_cq.umem = cq->resize_umem;
-       cq->resize_umem = NULL;
-       cq->resize_cqe = 0;
-
+       cq->ib_cq.umem = umem;
        cq->ib_cq.cqe = entries;
        atomic_inc(&rdev->stats.res.resize_count);
 
        return 0;
 
 fail:
-       ib_umem_release(cq->resize_umem);
-       cq->resize_umem = NULL;
-       cq->resize_cqe = 0;
+       ib_umem_release(umem);
        memcpy(&cq->qplib_cq.sg_info, &sg_info, sizeof(sg_info));
        cq->qplib_cq.dpi = orig_dpi;
        return rc;
diff --git a/drivers/infiniband/hw/bnxt_re/ib_verbs.h 
b/drivers/infiniband/hw/bnxt_re/ib_verbs.h
index 7890d6ebad90..ee7ccaa2ed4c 100644
--- a/drivers/infiniband/hw/bnxt_re/ib_verbs.h
+++ b/drivers/infiniband/hw/bnxt_re/ib_verbs.h
@@ -108,8 +108,6 @@ struct bnxt_re_cq {
        struct bnxt_qplib_cqe   *cql;
 #define MAX_CQL_PER_POLL       1024
        u32                     max_cql;
-       struct ib_umem          *resize_umem;
-       int                     resize_cqe;
        void                    *uctx_cq_page;
        struct hlist_node       hash_entry;
 };

-- 
2.52.0


Reply via email to