| From 0141792f8b7300006b874dda1c35acd0abd90d9d Mon Sep 17 00:00:00 2001 | 
 | From: DENG Qingfang <dqfext@gmail.com> | 
 | Date: Fri, 15 May 2020 23:25:55 +0800 | 
 | Subject: net: dsa: mt7530: fix VLAN setup | 
 |  | 
 | Allow DSA to add VLAN entries even if VLAN filtering is disabled, so | 
 | enabling it will not block the traffic of existent ports in the bridge | 
 |  | 
 | Signed-off-by: DENG Qingfang <dqfext@gmail.com> | 
 | Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> | 
 | Signed-off-by: David S. Miller <davem@davemloft.net> | 
 | --- | 
 |  drivers/net/dsa/mt7530.c | 13 +------------ | 
 |  1 file changed, 1 insertion(+), 12 deletions(-) | 
 |  | 
 | --- a/drivers/net/dsa/mt7530.c | 
 | +++ b/drivers/net/dsa/mt7530.c | 
 | @@ -1083,12 +1083,6 @@ mt7530_port_vlan_add(struct dsa_switch * | 
 |  	struct mt7530_priv *priv = ds->priv; | 
 |  	u16 vid; | 
 |   | 
 | -	/* The port is kept as VLAN-unaware if bridge with vlan_filtering not | 
 | -	 * being set. | 
 | -	 */ | 
 | -	if (!dsa_port_is_vlan_filtering(&ds->ports[port])) | 
 | -		return; | 
 | - | 
 |  	mutex_lock(&priv->reg_mutex); | 
 |   | 
 |  	for (vid = vlan->vid_begin; vid <= vlan->vid_end; ++vid) { | 
 | @@ -1114,12 +1108,6 @@ mt7530_port_vlan_del(struct dsa_switch * | 
 |  	struct mt7530_priv *priv = ds->priv; | 
 |  	u16 vid, pvid; | 
 |   | 
 | -	/* The port is kept as VLAN-unaware if bridge with vlan_filtering not | 
 | -	 * being set. | 
 | -	 */ | 
 | -	if (!dsa_port_is_vlan_filtering(&ds->ports[port])) | 
 | -		return 0; | 
 | - | 
 |  	mutex_lock(&priv->reg_mutex); | 
 |   | 
 |  	pvid = priv->ports[port].pvid; | 
 | @@ -1233,6 +1221,7 @@ mt7530_setup(struct dsa_switch *ds) | 
 |  	 * as two netdev instances. | 
 |  	 */ | 
 |  	dn = ds->ports[MT7530_CPU_PORT].master->dev.of_node->parent; | 
 | +	ds->configure_vlan_while_not_filtering = true; | 
 |   | 
 |  	if (priv->id == ID_MT7530) { | 
 |  		regulator_set_voltage(priv->core_pwr, 1000000, 1000000); |