realtek: remove redundant is_lagmember checks
authorJan Hoffmann <jan@3e8.eu>
Sat, 6 May 2023 23:05:35 +0000 (01:05 +0200)
committerSander Vanheule <sander@svanheule.net>
Sun, 7 May 2023 17:16:07 +0000 (19:16 +0200)
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@3e8.eu>
target/linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/dsa.c
target/linux/realtek/files-5.15/drivers/net/dsa/rtl83xx/dsa.c

index 6e615be0e50247b5b010618af71b3caff9f8bc10..bff42b088ad67cf9154d625f6bd6e1d730aacdc9 100644 (file)
@@ -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)
index df78aa3737fa0facf94e8dc76e82664424b381fc..3c67ce5adbb6cc626588f1ef2284150da84468ae 100644 (file)
@@ -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)