]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
RDMA/mlx5: Support rate limit only for Raw Packet QP
authorKalesh AP <kalesh-anakkur.purayil@broadcom.com>
Mon, 2 Feb 2026 13:34:12 +0000 (19:04 +0530)
committerLeon Romanovsky <leon@kernel.org>
Mon, 2 Feb 2026 13:37:59 +0000 (08:37 -0500)
mlx5 based hardware supports rate limiting only on Raw ethernet QPs.
Added an explicit check to fail the operation on any other QP types.
The rate limit support has been enahanced in the stack for RC QPs too.

Compile tested only.

CC: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
Link: https://patch.msgid.link/20260202133413.3182578-5-kalesh-anakkur.purayil@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/hw/mlx5/qp.c

index 69af20790481a1af480ebcfcee7b0801f53287ae..0324909e3151b7cf4190139ba0080259b6961acc 100644 (file)
@@ -4362,6 +4362,11 @@ static int __mlx5_ib_modify_qp(struct ib_qp *ibqp,
        optpar |= ib_mask_to_mlx5_opt(attr_mask);
        optpar &= opt_mask[mlx5_cur][mlx5_new][mlx5_st];
 
+       if (attr_mask & IB_QP_RATE_LIMIT && qp->type != IB_QPT_RAW_PACKET) {
+               err = -EOPNOTSUPP;
+               goto out;
+       }
+
        if (qp->type == IB_QPT_RAW_PACKET ||
            qp->flags & IB_QP_CREATE_SOURCE_QPN) {
                struct mlx5_modify_raw_qp_param raw_qp_param = {};