Skip to content

Commit

Permalink
mlxsw: spectrum: Use correct PVID value when removing VLANs
Browse files Browse the repository at this point in the history
When removing a range of VLANs in which PVID is a member we should use
the correct PVID value instead of some VLAN in the range.

Also, change two print statements to use 'dev' instead of
'mlxsw_sp_port->dev', as it's already used in other print statements in
the function.

Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Ido Schimmel authored and David S. Miller committed Nov 20, 2015
1 parent f99bf20 commit 06c071f
Showing 1 changed file with 8 additions and 10 deletions.
18 changes: 8 additions & 10 deletions drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -532,7 +532,7 @@ static int __mlxsw_sp_port_vlans_del(struct mlxsw_sp_port *mlxsw_sp_port,
u16 vid_begin, u16 vid_end, bool init)
{
struct net_device *dev = mlxsw_sp_port->dev;
u16 vid, vid_e;
u16 vid, vid_e, pvid;
int err;

/* In case this is invoked with BRIDGE_FLAGS_SELF and port is
Expand All @@ -549,23 +549,21 @@ static int __mlxsw_sp_port_vlans_del(struct mlxsw_sp_port *mlxsw_sp_port,
err = mlxsw_sp_port_vlan_set(mlxsw_sp_port, vid, vid_e, false,
false);
if (err) {
netdev_err(mlxsw_sp_port->dev, "Unable to del VIDs %d-%d\n",
vid, vid_e);
netdev_err(dev, "Unable to del VIDs %d-%d\n", vid,
vid_e);
return err;
}
}

if ((mlxsw_sp_port->pvid >= vid_begin) &&
(mlxsw_sp_port->pvid <= vid_end)) {
pvid = mlxsw_sp_port->pvid;
if (pvid >= vid_begin && pvid <= vid_end && pvid != 1) {
/* Default VLAN is always 1 */
mlxsw_sp_port->pvid = 1;
err = mlxsw_sp_port_pvid_set(mlxsw_sp_port,
mlxsw_sp_port->pvid);
err = mlxsw_sp_port_pvid_set(mlxsw_sp_port, 1);
if (err) {
netdev_err(mlxsw_sp_port->dev, "Unable to del PVID %d\n",
vid);
netdev_err(dev, "Unable to del PVID %d\n", pvid);
return err;
}
mlxsw_sp_port->pvid = 1;
}

if (init)
Expand Down

0 comments on commit 06c071f

Please sign in to comment.