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
