Commit d7073e8b978a for kernel

commit d7073e8b978ae925f1f0f08754f33f84d8547ea7
Author: Shay Drory <shayd@nvidia.com>
Date:   Tue Feb 24 13:46:50 2026 +0200

    net/mlx5: E-switch, Clear legacy flag when moving to switchdev

    The cited commit introduced MLX5_PRIV_FLAGS_SWITCH_LEGACY to identify
    when a transition to legacy mode is requested via devlink.  However, the
    logic failed to clear this flag if the mode was subsequently changed
    back to MLX5_ESWITCH_OFFLOADS (switchdev).  Consequently, if a user
    toggled from legacy to switchdev, the flag remained set, leaving the
    driver with wrong state indicating

    Fix this by explicitly clearing the MLX5_PRIV_FLAGS_SWITCH_LEGACY bit
    when the requested mode is MLX5_ESWITCH_OFFLOADS.

    Fixes: 2a4f56fbcc47 ("net/mlx5e: Keep netdev when leave switchdev for devlink set legacy only")
    Signed-off-by: Shay Drory <shayd@nvidia.com>
    Reviewed-by: Mark Bloch <mbloch@nvidia.com>
    Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
    Reviewed-by: Simon Horman <horms@kernel.org>
    Link: https://patch.msgid.link/20260224114652.1787431-4-tariqt@nvidia.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
index 1b439cef3719..9d51d030596c 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
@@ -4068,6 +4068,8 @@ int mlx5_devlink_eswitch_mode_set(struct devlink *devlink, u16 mode,

 	if (mlx5_mode == MLX5_ESWITCH_LEGACY)
 		esw->dev->priv.flags |= MLX5_PRIV_FLAGS_SWITCH_LEGACY;
+	if (mlx5_mode == MLX5_ESWITCH_OFFLOADS)
+		esw->dev->priv.flags &= ~MLX5_PRIV_FLAGS_SWITCH_LEGACY;
 	mlx5_eswitch_disable_locked(esw);
 	if (mlx5_mode == MLX5_ESWITCH_OFFLOADS) {
 		if (mlx5_devlink_trap_get_num_active(esw->dev)) {