mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-31 14:04:26 -04:00 
			
		
		
		
	Manually rebased: hack-5.10/780-usb-net-MeigLink_modem_support.patch Removed upstreamed: patches-5.10/110-gpio-mpc8xxx-Fix-support-for-IRQ_TYPE_LEVEL_LOW-flow.patch[1] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.10.145&id=24196210b198e8e39296e277bb93b362aa207775 Signed-off-by: John Audia <therealgraysky@proton.me>
		
			
				
	
	
		
			42 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From: DENG Qingfang <dqfext@gmail.com>
 | |
| Subject: DSA: roaming fix for Marvell mv88e6xxx
 | |
| 
 | |
| Marvell mv88e6xxx switch series cannot perform MAC learning from
 | |
| CPU-injected (FROM_CPU) DSA frames, which results in 2 issues.
 | |
| - excessive flooding, due to the fact that DSA treats those addresses
 | |
| as unknown
 | |
| - the risk of stale routes, which can lead to temporary packet loss
 | |
| 
 | |
| Backport those patch series from netdev mailing list, which solve these
 | |
| issues by adding and clearing static entries to the switch's FDB.
 | |
| 
 | |
| Add a hack patch to set default VID to 1 in port_fdb_{add,del}. Otherwise
 | |
| the static entries will be added to the switch's private FDB if VLAN
 | |
| filtering disabled, which will not work.
 | |
| 
 | |
| The switch may generate an "ATU violation" warning when a client moves
 | |
| from the CPU port to a switch port because the static ATU entry added by
 | |
| DSA core still points to the CPU port. DSA core will then clear the static
 | |
| entry so it is not fatal. Disable the warning so it will not confuse users.
 | |
| 
 | |
| Link: https://lore.kernel.org/netdev/20210106095136.224739-1-olteanv@gmail.com/
 | |
| Link: https://lore.kernel.org/netdev/20210116012515.3152-1-tobias@waldekranz.com/
 | |
| Ref: https://gitlab.nic.cz/turris/turris-build/-/issues/165
 | |
| Submitted-by: DENG Qingfang <dqfext@gmail.com>
 | |
| ---
 | |
|  drivers/net/dsa/mv88e6xxx/chip.c              | 3 +++
 | |
|  3 files changed, 3 insertions(+)
 | |
| 
 | |
| --- a/drivers/net/dsa/mv88e6xxx/chip.c
 | |
| +++ b/drivers/net/dsa/mv88e6xxx/chip.c
 | |
| @@ -2709,6 +2709,9 @@ static int mv88e6xxx_setup_port(struct m
 | |
|  	if (dsa_is_cpu_port(ds, port))
 | |
|  		reg = 0;
 | |
|  
 | |
| +	/* Disable ATU member violation interrupt */
 | |
| +	reg |= MV88E6XXX_PORT_ASSOC_VECTOR_IGNORE_WRONG;
 | |
| +
 | |
|  	err = mv88e6xxx_port_write(chip, port, MV88E6XXX_PORT_ASSOC_VECTOR,
 | |
|  				   reg);
 | |
|  	if (err)
 |