diff options
author | Ido Schimmel <idosch@mellanox.com> | 2017-05-16 19:38:33 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-05-17 14:06:54 -0400 |
commit | 7cbc4277c7e079dc941fb57c823aacb79160d14b (patch) | |
tree | cc5f29bd0b1d6cd67bd1b3e2645b7927c3852702 /drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c | |
parent | 45bfe6b433e0b8c2528784360dbd390ffaea3c70 (diff) |
mlxsw: spectrum_switchdev: Don't batch learning operations
We no longer batch VLAN operations, so there's no need to set the
learning state for a range of VLANs.
Use a common function to set the learning state for a Port-VLAN, thereby
making the code saner more receptive for upcoming changes.
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>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c index ad5eefa7d23b..6fdcbcfddc8d 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c @@ -322,13 +322,11 @@ static int mlxsw_sp_port_learning_set(struct mlxsw_sp_port *mlxsw_sp_port, if (mlxsw_sp_port_is_vport(mlxsw_sp_port)) { vid = mlxsw_sp_vport_vid_get(mlxsw_sp_port); - return __mlxsw_sp_port_vid_learning_set(mlxsw_sp_port, vid, vid, - set); + return mlxsw_sp_port_vid_learning_set(mlxsw_sp_port, vid, set); } for_each_set_bit(vid, mlxsw_sp_port->active_vlans, VLAN_N_VID) { - err = __mlxsw_sp_port_vid_learning_set(mlxsw_sp_port, vid, vid, - set); + err = mlxsw_sp_port_vid_learning_set(mlxsw_sp_port, vid, set); if (err) goto err_port_vid_learning_set; } @@ -337,7 +335,7 @@ static int mlxsw_sp_port_learning_set(struct mlxsw_sp_port *mlxsw_sp_port, err_port_vid_learning_set: for_each_set_bit(vid, mlxsw_sp_port->active_vlans, VLAN_N_VID) - __mlxsw_sp_port_vid_learning_set(mlxsw_sp_port, vid, vid, !set); + mlxsw_sp_port_vid_learning_set(mlxsw_sp_port, vid, !set); return err; } |