]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net/mlx5e: Set local Xoff after FW update
authorAlexei Lazar <alazar@nvidia.com>
Mon, 25 Aug 2025 14:34:34 +0000 (17:34 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 4 Sep 2025 12:41:43 +0000 (14:41 +0200)
[ Upstream commit aca0c31af61e0d5cf1675a0cbd29460b95ae693c ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/mellanox/mlx5/core/en/port_buffer.c

index c9d5d8d93994d3ba38692b038680eebeb4232ab7..7899a7230299d9b8ebfee68a44a1c96f8a65e807 100644 (file)
@@ -346,7 +346,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) {
@@ -355,6 +354,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);