]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net/mlx5: Explicitly set scheduling element and TSAR type
authorCarolina Jubran <cjubran@nvidia.com>
Mon, 2 Sep 2024 08:46:14 +0000 (11:46 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 17 Oct 2024 13:10:36 +0000 (15:10 +0200)
[ Upstream commit c88146abe4d0f8cf659b2b8883fdc33936d2e3b8 ]

Ensure the scheduling element type and TSAR type are explicitly
initialized in the QoS rate group creation.

This prevents potential issues due to default values.

Fixes: 1ae258f8b343 ("net/mlx5: E-switch, Introduce rate limiting groups API")
Signed-off-by: Carolina Jubran <cjubran@nvidia.com>
Reviewed-by: Cosmin Ratiu <cratiu@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c

index 65c8f1f08472cb8d7cc290c7b2a4fcdb1ebf9ad7..b7758a1c015e93a3b9670f9be683e13bfe5ea035 100644 (file)
@@ -424,6 +424,7 @@ esw_qos_create_rate_group(struct mlx5_eswitch *esw, struct netlink_ext_ack *exta
 {
        u32 tsar_ctx[MLX5_ST_SZ_DW(scheduling_context)] = {};
        struct mlx5_esw_rate_group *group;
+       __be32 *attr;
        u32 divider;
        int err;
 
@@ -434,6 +435,12 @@ esw_qos_create_rate_group(struct mlx5_eswitch *esw, struct netlink_ext_ack *exta
        if (!group)
                return ERR_PTR(-ENOMEM);
 
+       MLX5_SET(scheduling_context, tsar_ctx, element_type,
+                SCHEDULING_CONTEXT_ELEMENT_TYPE_TSAR);
+
+       attr = MLX5_ADDR_OF(scheduling_context, tsar_ctx, element_attributes);
+       *attr = cpu_to_be32(TSAR_ELEMENT_TSAR_TYPE_DWRR << 16);
+
        MLX5_SET(scheduling_context, tsar_ctx, parent_element_id,
                 esw->qos.root_tsar_ix);
        err = mlx5_create_scheduling_element_cmd(esw->dev,