diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2021-09-29 13:23:22 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2021-09-30 13:08:07 +0100 |
commit | 55b115c7ecd9440610a58967321d9a4dc52b5f0e (patch) | |
tree | 65f4c5f3db7f918437a70452e3beebca8f307f6f /drivers/net/dsa/rtl8366rb.c | |
parent | 06059a1a9a4a58f139352c65b02989ea6077091a (diff) |
net: dsa: rtl8366rb: Use core filtering tracking
We added a state variable to track whether a certain port
was VLAN filtering or not, but we can just inquire the DSA
core about this.
Cc: Vladimir Oltean <olteanv@gmail.com>
Cc: Mauri Sandberg <sandberg@mailfence.com>
Cc: DENG Qingfang <dqfext@gmail.com>
Cc: Alvin Šipraga <alsi@bang-olufsen.dk>
Cc: Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/dsa/rtl8366rb.c')
-rw-r--r-- | drivers/net/dsa/rtl8366rb.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/drivers/net/dsa/rtl8366rb.c b/drivers/net/dsa/rtl8366rb.c index 6382404814c3..bb9d017c2f9f 100644 --- a/drivers/net/dsa/rtl8366rb.c +++ b/drivers/net/dsa/rtl8366rb.c @@ -337,12 +337,10 @@ * struct rtl8366rb - RTL8366RB-specific data * @max_mtu: per-port max MTU setting * @pvid_enabled: if PVID is set for respective port - * @vlan_filtering: if VLAN filtering is enabled for respective port */ struct rtl8366rb { unsigned int max_mtu[RTL8366RB_NUM_PORTS]; bool pvid_enabled[RTL8366RB_NUM_PORTS]; - bool vlan_filtering[RTL8366RB_NUM_PORTS]; }; static struct rtl8366_mib_counter rtl8366rb_mib_counters[] = { @@ -1262,12 +1260,9 @@ static int rtl8366rb_vlan_filtering(struct dsa_switch *ds, int port, if (ret) return ret; - /* Keep track if filtering is enabled on each port */ - rb->vlan_filtering[port] = vlan_filtering; - /* If VLAN filtering is enabled and PVID is also enabled, we must * not drop any untagged or C-tagged frames. If we turn off VLAN - * filtering on a port, we need ti accept any frames. + * filtering on a port, we need to accept any frames. */ if (vlan_filtering) ret = rtl8366rb_drop_untagged(smi, port, !rb->pvid_enabled[port]); @@ -1512,7 +1507,7 @@ static int rtl8366rb_set_mc_index(struct realtek_smi *smi, int port, int index) * not drop any untagged or C-tagged frames. Make sure to update the * filtering setting. */ - if (rb->vlan_filtering[port]) + if (dsa_port_is_vlan_filtering(dsa_to_port(smi->ds, port))) ret = rtl8366rb_drop_untagged(smi, port, !pvid_enabled); return ret; |