[openwrt/openwrt] realtek: remove redundant is_lagmember checks

LEDE Commits lede-commits at lists.infradead.org
Sun May 7 10:17:49 PDT 2023


svanheule pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/a872570c043f5beee21c3af695f1a5a77f7eab04

commit a872570c043f5beee21c3af695f1a5a77f7eab04
Author: Jan Hoffmann <jan at 3e8.eu>
AuthorDate: Sun May 7 01:05:35 2023 +0200

    realtek: remove redundant is_lagmember checks
    
    All callers of the rtl83xx_mc_group_* functions already do the same
    check, so these aren't needed.
    
    For rtl83xx_mc_group_alloc, this branch also incorrectly returned 0
    instead of a negative value. If the branch wasn't effectively dead code
    anyway, this could potentially have caused bugs, as 0 is a valid
    multicast group entry index.
    
    Fixes: cde31976e375 ("realtek: Add support for Layer 2 Multicast")
    Signed-off-by: Jan Hoffmann <jan at 3e8.eu>
---
 .../realtek/files-5.10/drivers/net/dsa/rtl83xx/dsa.c      | 15 ++-------------
 .../realtek/files-5.15/drivers/net/dsa/rtl83xx/dsa.c      | 15 ++-------------
 2 files changed, 4 insertions(+), 26 deletions(-)

diff --git a/target/linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/dsa.c b/target/linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/dsa.c
index 6e615be0e5..bff42b088a 100644
--- a/target/linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/dsa.c
+++ b/target/linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/dsa.c
@@ -988,11 +988,6 @@ static int rtl83xx_mc_group_alloc(struct rtl838x_switch_priv *priv, int port)
 	if (mc_group >= MAX_MC_GROUPS - 1)
 		return -1;
 
-	if (priv->is_lagmember[port]) {
-		pr_info("%s: %d is lag slave. ignore\n", __func__, port);
-		return 0;
-	}
-
 	set_bit(mc_group, priv->mc_group_bm);
 	portmask = BIT_ULL(port);
 	priv->r->write_mcast_pmask(mc_group, portmask);
@@ -1005,10 +1000,7 @@ static u64 rtl83xx_mc_group_add_port(struct rtl838x_switch_priv *priv, int mc_gr
 	u64 portmask = priv->r->read_mcast_pmask(mc_group);
 
 	pr_debug("%s: %d\n", __func__, port);
-	if (priv->is_lagmember[port]) {
-		pr_info("%s: %d is lag slave. ignore\n", __func__, port);
-		return portmask;
-	}
+
 	portmask |= BIT_ULL(port);
 	priv->r->write_mcast_pmask(mc_group, portmask);
 
@@ -1020,10 +1012,7 @@ static u64 rtl83xx_mc_group_del_port(struct rtl838x_switch_priv *priv, int mc_gr
 	u64 portmask = priv->r->read_mcast_pmask(mc_group);
 
 	pr_debug("%s: %d\n", __func__, port);
-	if (priv->is_lagmember[port]) {
-		pr_info("%s: %d is lag slave. ignore\n", __func__, port);
-		return portmask;
-	}
+
 	portmask &= ~BIT_ULL(port);
 	priv->r->write_mcast_pmask(mc_group, portmask);
 	if (!portmask)
diff --git a/target/linux/realtek/files-5.15/drivers/net/dsa/rtl83xx/dsa.c b/target/linux/realtek/files-5.15/drivers/net/dsa/rtl83xx/dsa.c
index df78aa3737..3c67ce5adb 100644
--- a/target/linux/realtek/files-5.15/drivers/net/dsa/rtl83xx/dsa.c
+++ b/target/linux/realtek/files-5.15/drivers/net/dsa/rtl83xx/dsa.c
@@ -975,11 +975,6 @@ static int rtl83xx_mc_group_alloc(struct rtl838x_switch_priv *priv, int port)
 	if (mc_group >= MAX_MC_GROUPS - 1)
 		return -1;
 
-	if (priv->is_lagmember[port]) {
-		pr_info("%s: %d is lag slave. ignore\n", __func__, port);
-		return 0;
-	}
-
 	set_bit(mc_group, priv->mc_group_bm);
 	portmask = BIT_ULL(port);
 	priv->r->write_mcast_pmask(mc_group, portmask);
@@ -992,10 +987,7 @@ static u64 rtl83xx_mc_group_add_port(struct rtl838x_switch_priv *priv, int mc_gr
 	u64 portmask = priv->r->read_mcast_pmask(mc_group);
 
 	pr_debug("%s: %d\n", __func__, port);
-	if (priv->is_lagmember[port]) {
-		pr_info("%s: %d is lag slave. ignore\n", __func__, port);
-		return portmask;
-	}
+
 	portmask |= BIT_ULL(port);
 	priv->r->write_mcast_pmask(mc_group, portmask);
 
@@ -1007,10 +999,7 @@ static u64 rtl83xx_mc_group_del_port(struct rtl838x_switch_priv *priv, int mc_gr
 	u64 portmask = priv->r->read_mcast_pmask(mc_group);
 
 	pr_debug("%s: %d\n", __func__, port);
-	if (priv->is_lagmember[port]) {
-		pr_info("%s: %d is lag slave. ignore\n", __func__, port);
-		return portmask;
-	}
+
 	portmask &= ~BIT_ULL(port);
 	priv->r->write_mcast_pmask(mc_group, portmask);
 	if (!portmask)




More information about the lede-commits mailing list