From: Vladimir Oltean Date: Sun, 28 Apr 2019 18:45:47 +0000 (+0300) Subject: net: dsa: mt7530: Let DSA handle the unsetting of vlan_filtering X-Git-Tag: for-linus-20190516~56^2~75^2~7 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=e3ee07d14fac20ce12e93a72048fa6fd51348826;p=linux-2.6-block.git net: dsa: mt7530: Let DSA handle the unsetting of vlan_filtering The driver, recognizing that the .port_vlan_filtering callback was never coming after the port left its parent bridge, decided to take that duty in its own hands. DSA now takes care of this condition, so fix that. Signed-off-by: Vladimir Oltean Reviewed-by: Andrew Lunn Reviewed-by: Florian Fainelli Signed-off-by: David S. Miller --- diff --git a/drivers/net/dsa/mt7530.c b/drivers/net/dsa/mt7530.c index 7357b4fc0185..3530b6f38428 100644 --- a/drivers/net/dsa/mt7530.c +++ b/drivers/net/dsa/mt7530.c @@ -910,8 +910,6 @@ mt7530_port_bridge_leave(struct dsa_switch *ds, int port, PCR_MATRIX(BIT(MT7530_CPU_PORT))); priv->ports[port].pm = PCR_MATRIX(BIT(MT7530_CPU_PORT)); - mt7530_port_set_vlan_unaware(ds, port); - mutex_unlock(&priv->reg_mutex); } @@ -1025,6 +1023,8 @@ mt7530_port_vlan_filtering(struct dsa_switch *ds, int port, */ mt7530_port_set_vlan_aware(ds, port); mt7530_port_set_vlan_aware(ds, MT7530_CPU_PORT); + } else { + mt7530_port_set_vlan_unaware(ds, port); } return 0;