net/mlx5e: Set local Xoff after FW update
authorAlexei Lazar <alazar@nvidia.com>
Mon, 25 Aug 2025 14:34:34 +0000 (17:34 +0300)
committerJakub Kicinski <kuba@kernel.org>
Wed, 27 Aug 2025 01:00:27 +0000 (18:00 -0700)
The local Xoff value is being set before the firmware (FW) update.
In case of a failure where the FW is not updated with the new value,
there is no fallback to the previous value.
Update the local Xoff value after the FW has been successfully set.

Fixes: 0696d60853d5 ("net/mlx5e: Receive buffer configuration")
Signed-off-by: Alexei Lazar <alazar@nvidia.com>
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
Reviewed-by: Dragos Tatulea <dtatulea@nvidia.com>
Signed-off-by: Mark Bloch <mbloch@nvidia.com>
Link: https://patch.msgid.link/20250825143435.598584-12-mbloch@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/mellanox/mlx5/core/en/port_buffer.c

index 3efa8bf1d14ef4d87458589b41393f6632e64620..4720523813b976e1890fc88364460f9bb258d54c 100644 (file)
@@ -575,7 +575,6 @@ int mlx5e_port_manual_buffer_config(struct mlx5e_priv *priv,
                if (err)
                        return err;
        }
-       priv->dcbx.xoff = xoff;
 
        /* Apply the settings */
        if (update_buffer) {
@@ -584,6 +583,8 @@ int mlx5e_port_manual_buffer_config(struct mlx5e_priv *priv,
                        return err;
        }
 
+       priv->dcbx.xoff = xoff;
+
        if (update_prio2buffer)
                err = mlx5e_port_set_priority2buffer(priv->mdev, prio2buffer);