net/mlx5e: Avoid WARN_ON when configuring MQPRIO with HTB offload enabled
authorCarolina Jubran <cjubran@nvidia.com>
Mon, 3 Feb 2025 21:35:16 +0000 (23:35 +0200)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 6 Feb 2025 09:14:01 +0000 (10:14 +0100)
When attempting to enable MQPRIO while HTB offload is already
configured, the driver currently returns `-EINVAL` and triggers a
`WARN_ON`, leading to an unnecessary call trace.

Update the code to handle this case more gracefully by returning
`-EOPNOTSUPP` instead, while also providing a helpful user message.

Signed-off-by: Carolina Jubran <cjubran@nvidia.com>
Reviewed-by: Yael Chemla <ychemla@nvidia.com>
Reviewed-by: Cosmin Ratiu <cratiu@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/mellanox/mlx5/core/en_main.c

index c754e0c759342b48a1661170df819d777bb81f3f..2fdc86432ac0f7d135b434667a5421bcba88660c 100644 (file)
@@ -3816,8 +3816,11 @@ static int mlx5e_setup_tc_mqprio(struct mlx5e_priv *priv,
        /* MQPRIO is another toplevel qdisc that can't be attached
         * simultaneously with the offloaded HTB.
         */
-       if (WARN_ON(mlx5e_selq_is_htb_enabled(&priv->selq)))
-               return -EINVAL;
+       if (mlx5e_selq_is_htb_enabled(&priv->selq)) {
+               NL_SET_ERR_MSG_MOD(mqprio->extack,
+                                  "MQPRIO cannot be configured when HTB offload is enabled.");
+               return -EOPNOTSUPP;
+       }
 
        switch (mqprio->mode) {
        case TC_MQPRIO_MODE_DCB: