Patch "net/mlx5e: Don't override vport admin link state in switchdev mode" has been added to the 4.15-stable tree
This is a note to let you know that I've just added the patch titled
net/mlx5e: Don't override vport admin link state in switchdev mode
to the 4.15-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
net-mlx5e-don-t-override-vport-admin-link-state-in-switchdev-mode.patch
and it can be found in the queue-4.15 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Tue Apr 10 23:19:36 CEST 2018
From: Jianbo Liu <[email protected]>
Date: Fri, 2 Mar 2018 02:09:08 +0000
Subject: net/mlx5e: Don't override vport admin link state in switchdev mode
From: Jianbo Liu <[email protected]>
The vport admin original link state will be re-applied after returning back to legacy mode, it is not right to change the admin link state value when in switchdev mode.
Use direct vport commands to alter logical vport state in netdev representor open/close flows rather than the administrative eswitch API.
--- drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-)
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c +6 -5
@@ -611,7 +611,6 @@ static int mlx5e_rep_open(struct net_devstruct mlx5e_priv *priv =netdev_priv (dev);struct mlx5e_rep_priv *rpriv = priv->ppriv;struct mlx5_eswitch_rep *rep = rpriv->rep; -struct mlx5_eswitch *esw = priv->mdev->priv.eswitch;int err;mutex_lock (&priv->state_lock);
@@ -619,8 +618,9 @@ static int mlx5e_rep_open(struct net_devif (err) goto unlock; -if (!mlx5_eswitch_set_vport_state (esw, rep->vport, -MLX5_ESW_VPORT_ADMIN_STATE_UP )) +if (!mlx5_modify_vport_admin_state (priv->mdev, +MLX5_QUERY_VPORT_STATE_IN_OP_MOD_ESW_VPORT , + rep->vport,MLX5_ESW_VPORT_ADMIN_STATE_UP ))netif_carrier_on (dev); unlock:
@@ -633,11 +633,12 @@ static int mlx5e_rep_close(struct net_destruct mlx5e_priv *priv =netdev_priv (dev);struct mlx5e_rep_priv *rpriv = priv->ppriv;struct mlx5_eswitch_rep *rep = rpriv->rep; -struct mlx5_eswitch *esw = priv->mdev->priv.eswitch;int ret;mutex_lock (&priv->state_lock); - (void )mlx5_eswitch_set_vport_state (esw, rep->vport,MLX5_ESW_VPORT_ADMIN_STATE_DOWN ); +mlx5_modify_vport_admin_state (priv->mdev, +MLX5_QUERY_VPORT_STATE_IN_OP_MOD_ESW_VPORT , + rep->vport,MLX5_ESW_VPORT_ADMIN_STATE_DOWN ); ret =mlx5e_close_locked (dev);mutex_unlock (&priv->state_lock);return ret;
Patches currently in stable-queue which might be from [email protected] are
queue-4.15/net-mlx5e-fix-memory-usage-issues-in-offloading-tc-flows.patch queue-4.15/net-mlx5e-don-t-override-vport-admin-link-state-in-switchdev-mode.patch