From 63f7ed747e500fdf25931ad22e311f4d353fffca Mon Sep 17 00:00:00 2001 From: Denis Kirjanov Date: Feb 06 2024 18:52:58 +0000 Subject: net: dsa: mv88e6xxx: avoid error message on remove from VLAN 0 (git-fixed). --- diff --git a/patches.suse/net-dsa-mv88e6xxx-avoid-error-message-on-remove-from.patch b/patches.suse/net-dsa-mv88e6xxx-avoid-error-message-on-remove-from.patch new file mode 100644 index 0000000..fb81d28 --- /dev/null +++ b/patches.suse/net-dsa-mv88e6xxx-avoid-error-message-on-remove-from.patch @@ -0,0 +1,50 @@ +From ab56e7f36e10c14f3feedbc2ce947b353dd60e27 Mon Sep 17 00:00:00 2001 +From: Nikita Yushchenko +Date: Fri, 31 May 2019 10:35:14 +0300 +Subject: [PATCH 1/6] net: dsa: mv88e6xxx: avoid error message on remove from + VLAN 0 +Patch-mainline: v5.2-rc4 +Git-commit: 62394708f3e01c9f2be6be74eb6305bae1ed924f +References: git-fixed + +When non-bridged, non-vlan'ed mv88e6xxx port is moving down, error +message is logged: + +failed to kill vid 0081/0 for device eth_cu_1000_4 + +This is caused by call from __vlan_vid_del() with vin set to zero, over +call chain this results into _mv88e6xxx_port_vlan_del() called with +vid=0, and mv88e6xxx_vtu_get() called from there returns -EINVAL. + +On symmetric path moving port up, call goes through +mv88e6xxx_port_vlan_prepare() that calls mv88e6xxx_port_check_hw_vlan() +that returns -EOPNOTSUPP for zero vid. + +This patch changes mv88e6xxx_vtu_get() to also return -EOPNOTSUPP for +zero vid, then this error code is explicitly cleared in +dsa_slave_vlan_rx_kill_vid() and error message is no longer logged. + +Signed-off-by: Nikita Yushchenko +Reviewed-by: Vivien Didelot +Signed-off-by: David S. Miller +Signed-off-by: Denis Kirjanov +--- + drivers/net/dsa/mv88e6xxx/chip.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c +index c3591be71357..afb3ee007664 100644 +--- a/drivers/net/dsa/mv88e6xxx/chip.c ++++ b/drivers/net/dsa/mv88e6xxx/chip.c +@@ -1387,7 +1387,7 @@ static int mv88e6xxx_vtu_get(struct mv88e6xxx_chip *chip, u16 vid, + int err; + + if (!vid) +- return -EINVAL; ++ return -EOPNOTSUPP; + + entry->vid = vid - 1; + entry->valid = false; +-- +2.16.4 + diff --git a/series.conf b/series.conf index 1124ceb..8f329c8 100644 --- a/series.conf +++ b/series.conf @@ -50790,6 +50790,7 @@ patches.suse/IB-hfi1-Insure-freeze_work-work_struct-is-canceled-o.patch patches.suse/IB-qib-hfi1-rdmavt-Correct-ibv_devinfo-max_mr-value.patch patches.suse/IB-hfi1-Validate-page-aligned-for-a-given-virtual-ad.patch + patches.suse/net-dsa-mv88e6xxx-avoid-error-message-on-remove-from.patch patches.suse/net-hns-Fix-loopback-test-failed-at-copper-ports.patch patches.suse/packet-unconditionally-free-po-rollover.patch patches.suse/net-ethernet-ti-cpsw_ethtool-fix-ethtool-ring-param-.patch