summary refs log tree commit diff
path: root/drivers/net/ethernet/mellanox/mlxsw
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2018-05-05 10:01:34 +0200
committerIngo Molnar <mingo@kernel.org>2018-05-05 10:01:34 +0200
commit12e2c41148a9e68bc3b261954961db9d28decf47 (patch)
tree6b52bbd4b222f3995090320b08a54fece5a12d48 /drivers/net/ethernet/mellanox/mlxsw
parentc427f69564e2a844c5fcf2804042609342513da0 (diff)
parent1504269814263c9676b4605a6a91e14dc6ceac21 (diff)
downloadlinux-12e2c41148a9e68bc3b261954961db9d28decf47.tar.gz
Merge branch 'linus' into locking/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlxsw')
-rw-r--r--drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
index c11c9a635866..4ed01182a82c 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
@@ -1718,13 +1718,11 @@ __mlxsw_sp_port_mdb_del(struct mlxsw_sp_port *mlxsw_sp_port,
 	struct net_device *dev = mlxsw_sp_port->dev;
 	int err;
 
-	if (bridge_port->bridge_device->multicast_enabled) {
-		if (bridge_port->bridge_device->multicast_enabled) {
-			err = mlxsw_sp_port_smid_set(mlxsw_sp_port, mid->mid,
-						     false);
-			if (err)
-				netdev_err(dev, "Unable to remove port from SMID\n");
-		}
+	if (bridge_port->bridge_device->multicast_enabled &&
+	    !bridge_port->mrouter) {
+		err = mlxsw_sp_port_smid_set(mlxsw_sp_port, mid->mid, false);
+		if (err)
+			netdev_err(dev, "Unable to remove port from SMID\n");
 	}
 
 	err = mlxsw_sp_port_remove_from_mid(mlxsw_sp_port, mid);