]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net/mlx5e: Update and set Xon/Xoff upon port speed set
authorAlexei Lazar <alazar@nvidia.com>
Mon, 25 Aug 2025 14:34:33 +0000 (17:34 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 4 Sep 2025 12:05:55 +0000 (14:05 +0200)
[ Upstream commit d24341740fe48add8a227a753e68b6eedf4b385a ]

Xon/Xoff sizes are derived from calculations that include
the port speed.
These settings need to be updated and applied whenever the
port speed is changed.
The port speed is typically set after the physical link goes down
and is negotiated as part of the link-up process between the two
connected interfaces.
Xon/Xoff parameters being updated at the point where the new
negotiated speed is established.

Fixes: 0696d60853d5 ("net/mlx5e: Receive buffer configuration")
Signed-off-by: Alexei Lazar <alazar@nvidia.com>
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
Signed-off-by: Mark Bloch <mbloch@nvidia.com>
Link: https://patch.msgid.link/20250825143435.598584-11-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_main.c

index 41bd16cc9d0f6f4435afa51d02b5ec22f4177ad4..b8d0b68befcb97a6770d48871f7212aa95e64443 100644 (file)
@@ -141,6 +141,8 @@ void mlx5e_update_carrier(struct mlx5e_priv *priv)
        if (port_state == VPORT_STATE_UP) {
                netdev_info(priv->netdev, "Link up\n");
                netif_carrier_on(priv->netdev);
+               mlx5e_port_manual_buffer_config(priv, 0, priv->netdev->mtu,
+                                               NULL, NULL, NULL);
        } else {
                netdev_info(priv->netdev, "Link down\n");
                netif_carrier_off(priv->netdev);