mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 14:34:27 -05:00 
			
		
		
		
	Without this patch we have to manually bring up the CPU interface in failsafe mode. This was backported from kernel 5.12. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Tested-by: Rafał Miłecki <rafal@milecki.pl>
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 2fd186501b1cff155cc4a755c210793cfc0dffb5 Mon Sep 17 00:00:00 2001
 | 
						|
From: Vladimir Oltean <vladimir.oltean@nxp.com>
 | 
						|
Date: Wed, 6 Jan 2021 11:51:31 +0200
 | 
						|
Subject: [PATCH] net: dsa: be louder when a non-legacy FDB operation fails
 | 
						|
 | 
						|
The dev_close() call was added in commit c9eb3e0f8701 ("net: dsa: Add
 | 
						|
support for learning FDB through notification") "to indicate inconsistent
 | 
						|
situation" when we could not delete an FDB entry from the port.
 | 
						|
 | 
						|
bridge fdb del d8:58:d7:00:ca:6d dev swp0 self master
 | 
						|
 | 
						|
It is a bit drastic and at the same time not helpful if the above fails
 | 
						|
to only print with netdev_dbg log level, but on the other hand to bring
 | 
						|
the interface down.
 | 
						|
 | 
						|
So increase the verbosity of the error message, and drop dev_close().
 | 
						|
 | 
						|
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
 | 
						|
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
 | 
						|
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
 | 
						|
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 | 
						|
---
 | 
						|
 net/dsa/slave.c | 10 +++++++---
 | 
						|
 1 file changed, 7 insertions(+), 3 deletions(-)
 | 
						|
 | 
						|
--- a/net/dsa/slave.c
 | 
						|
+++ b/net/dsa/slave.c
 | 
						|
@@ -2114,7 +2114,9 @@ static void dsa_slave_switchdev_event_wo
 | 
						|
 
 | 
						|
 		err = dsa_port_fdb_add(dp, fdb_info->addr, fdb_info->vid);
 | 
						|
 		if (err) {
 | 
						|
-			netdev_dbg(dev, "fdb add failed err=%d\n", err);
 | 
						|
+			netdev_err(dev,
 | 
						|
+				   "failed to add %pM vid %d to fdb: %d\n",
 | 
						|
+				   fdb_info->addr, fdb_info->vid, err);
 | 
						|
 			break;
 | 
						|
 		}
 | 
						|
 		fdb_info->offloaded = true;
 | 
						|
@@ -2129,9 +2131,11 @@ static void dsa_slave_switchdev_event_wo
 | 
						|
 
 | 
						|
 		err = dsa_port_fdb_del(dp, fdb_info->addr, fdb_info->vid);
 | 
						|
 		if (err) {
 | 
						|
-			netdev_dbg(dev, "fdb del failed err=%d\n", err);
 | 
						|
-			dev_close(dev);
 | 
						|
+			netdev_err(dev,
 | 
						|
+				   "failed to delete %pM vid %d from fdb: %d\n",
 | 
						|
+				   fdb_info->addr, fdb_info->vid, err);
 | 
						|
 		}
 | 
						|
+
 | 
						|
 		break;
 | 
						|
 	}
 | 
						|
 	rtnl_unlock();
 |