mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 07:22:33 +00:00
98b1a6435f
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>
(cherry picked from commit 2e17c71095
)
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
|
|
@@ -1595,7 +1595,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;
|
|
@@ -1610,9 +1612,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();
|