Manually rebased: backport-5.4/370-netfilter-nf_flow_table-fix-offloaded-connection-tim.patch All other patches automatically rebased. Build system: x86_64 Build-tested: ipq806x/R7800 Run-tested: ipq806x/R7800 Signed-off-by: John Audia <graysky@archlinux.us>
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
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;
 | 
						|
@@ -1232,6 +1220,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);
 |