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/mlx5/cq.c      | 8 +-------
 drivers/infiniband/hw/mlx5/mlx5_ib.h | 3 ---
 2 files changed, 1 insertion(+), 10 deletions(-)

diff --git a/drivers/infiniband/hw/mlx5/cq.c b/drivers/infiniband/hw/mlx5/cq.c
index 78c3494517d7..f7fb6f4aef7d 100644
--- a/drivers/infiniband/hw/mlx5/cq.c
+++ b/drivers/infiniband/hw/mlx5/cq.c
@@ -972,7 +972,6 @@ int mlx5_ib_create_user_cq(struct ib_cq *ibcq,
                return -EINVAL;
 
        cq->ibcq.cqe = entries - 1;
-       mutex_init(&cq->resize_mutex);
        spin_lock_init(&cq->lock);
        if (attr->flags & IB_UVERBS_CQ_FLAGS_TIMESTAMP_COMPLETION)
                cq->private_flags |= MLX5_IB_CQ_PR_TIMESTAMP_COMPLETION;
@@ -1057,7 +1056,6 @@ int mlx5_ib_create_cq(struct ib_cq *ibcq, const struct 
ib_cq_init_attr *attr,
                return -EINVAL;
 
        cq->ibcq.cqe = entries - 1;
-       mutex_init(&cq->resize_mutex);
        spin_lock_init(&cq->lock);
        INIT_LIST_HEAD(&cq->list_send_qp);
        INIT_LIST_HEAD(&cq->list_recv_qp);
@@ -1284,10 +1282,9 @@ int mlx5_ib_resize_cq(struct ib_cq *ibcq, unsigned int 
entries,
        if (entries == ibcq->cqe + 1)
                return 0;
 
-       mutex_lock(&cq->resize_mutex);
        err = resize_user(dev, cq, entries, udata, &cqe_size);
        if (err)
-               goto ex;
+               return err;
 
        page_size = mlx5_umem_find_best_cq_quantized_pgoff(
                cq->resize_umem, cqc, log_page_size, MLX5_ADAPTER_PAGE_SHIFT,
@@ -1339,7 +1336,6 @@ int mlx5_ib_resize_cq(struct ib_cq *ibcq, unsigned int 
entries,
        ib_umem_release(cq->ibcq.umem);
        cq->ibcq.umem = cq->resize_umem;
        cq->resize_umem = NULL;
-       mutex_unlock(&cq->resize_mutex);
 
        kvfree(in);
        return 0;
@@ -1350,8 +1346,6 @@ int mlx5_ib_resize_cq(struct ib_cq *ibcq, unsigned int 
entries,
 ex_resize:
        ib_umem_release(cq->resize_umem);
        cq->resize_umem = NULL;
-ex:
-       mutex_unlock(&cq->resize_mutex);
        return err;
 }
 
diff --git a/drivers/infiniband/hw/mlx5/mlx5_ib.h 
b/drivers/infiniband/hw/mlx5/mlx5_ib.h
index e99a647ed62d..7b34f32b5ecb 100644
--- a/drivers/infiniband/hw/mlx5/mlx5_ib.h
+++ b/drivers/infiniband/hw/mlx5/mlx5_ib.h
@@ -574,9 +574,6 @@ struct mlx5_ib_cq {
         */
        spinlock_t              lock;
 
-       /* protect resize cq
-        */
-       struct mutex            resize_mutex;
        struct mlx5_ib_cq_buf  *resize_buf;
        struct ib_umem         *resize_umem;
        int                     cqe_size;

-- 
2.52.0


Reply via email to