From: Leon Romanovsky <[email protected]>

Replace the open‑coded resize‑CQ lock with the standard core
implementation for better consistency and maintainability.

Signed-off-by: Leon Romanovsky <[email protected]>
---
 drivers/infiniband/hw/mthca/mthca_cq.c       |  1 -
 drivers/infiniband/hw/mthca/mthca_provider.c | 20 ++++++--------------
 drivers/infiniband/hw/mthca/mthca_provider.h |  1 -
 3 files changed, 6 insertions(+), 16 deletions(-)

diff --git a/drivers/infiniband/hw/mthca/mthca_cq.c 
b/drivers/infiniband/hw/mthca/mthca_cq.c
index 26c3408dcaca..9c15e9b886d1 100644
--- a/drivers/infiniband/hw/mthca/mthca_cq.c
+++ b/drivers/infiniband/hw/mthca/mthca_cq.c
@@ -819,7 +819,6 @@ int mthca_init_cq(struct mthca_dev *dev, int nent,
        spin_lock_init(&cq->lock);
        cq->refcount = 1;
        init_waitqueue_head(&cq->wait);
-       mutex_init(&cq->mutex);
 
        memset(cq_context, 0, sizeof *cq_context);
        cq_context->flags           = cpu_to_be32(MTHCA_CQ_STATUS_OK      |
diff --git a/drivers/infiniband/hw/mthca/mthca_provider.c 
b/drivers/infiniband/hw/mthca/mthca_provider.c
index 85de004547ab..cb94d73e89d6 100644
--- a/drivers/infiniband/hw/mthca/mthca_provider.c
+++ b/drivers/infiniband/hw/mthca/mthca_provider.c
@@ -680,28 +680,20 @@ static int mthca_resize_cq(struct ib_cq *ibcq, unsigned 
int entries,
        if (entries > dev->limits.max_cqes)
                return -EINVAL;
 
-       mutex_lock(&cq->mutex);
-
        entries = roundup_pow_of_two(entries + 1);
-       if (entries == ibcq->cqe + 1) {
-               ret = 0;
-               goto out;
-       }
+       if (entries == ibcq->cqe + 1)
+               return 0;
 
-       if (ib_copy_from_udata(&ucmd, udata, sizeof ucmd)) {
-               ret = -EFAULT;
-               goto out;
-       }
+       if (ib_copy_from_udata(&ucmd, udata, sizeof(ucmd)))
+               return -EFAULT;
        lkey = ucmd.lkey;
 
        ret = mthca_RESIZE_CQ(dev, cq->cqn, lkey, ilog2(entries));
        if (ret)
-               goto out;
+               return ret;
 
        ibcq->cqe = entries - 1;
-out:
-       mutex_unlock(&cq->mutex);
-       return ret;
+       return 0;
 }
 
 static int mthca_destroy_cq(struct ib_cq *cq, struct ib_udata *udata)
diff --git a/drivers/infiniband/hw/mthca/mthca_provider.h 
b/drivers/infiniband/hw/mthca/mthca_provider.h
index 8a77483bb33c..7797d76fb93d 100644
--- a/drivers/infiniband/hw/mthca/mthca_provider.h
+++ b/drivers/infiniband/hw/mthca/mthca_provider.h
@@ -198,7 +198,6 @@ struct mthca_cq {
        int                     arm_sn;
 
        wait_queue_head_t       wait;
-       struct mutex            mutex;
 };
 
 struct mthca_srq {

-- 
2.52.0


Reply via email to