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)
 |