]> 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 13:31:50 +0000 (15:31 +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 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);