* [PATCH] net: dsa: rtl8366: Fix up VLAN filtering
@ 2019-06-13 22:25 Linus Walleij
2019-06-15 20:41 ` David Miller
0 siblings, 1 reply; 2+ messages in thread
From: Linus Walleij @ 2019-06-13 22:25 UTC (permalink / raw)
To: Andrew Lunn, Vivien Didelot, Florian Fainelli
Cc: netdev, Linus Walleij, stable
We get this regression when using RTL8366RB as part of a bridge
with OpenWrt:
WARNING: CPU: 0 PID: 1347 at net/switchdev/switchdev.c:291
switchdev_port_attr_set_now+0x80/0xa4
lan0: Commit of attribute (id=7) failed.
(...)
realtek-smi switch lan0: failed to initialize vlan filtering on this port
This is because it is trying to disable VLAN filtering
on VLAN0, as we have forgot to add 1 to the port number
to get the right VLAN in rtl8366_vlan_filtering(): when
we initialize the VLAN we associate VLAN1 with port 0,
VLAN2 with port 1 etc, so we need to add 1 to the port
offset.
Fixes: d8652956cf37 ("net: dsa: realtek-smi: Add Realtek SMI driver")
Cc: stable@vger.kernel.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
drivers/net/dsa/rtl8366.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/net/dsa/rtl8366.c b/drivers/net/dsa/rtl8366.c
index 6dedd43442cc..35b767baf21f 100644
--- a/drivers/net/dsa/rtl8366.c
+++ b/drivers/net/dsa/rtl8366.c
@@ -307,7 +307,8 @@ int rtl8366_vlan_filtering(struct dsa_switch *ds, int port, bool vlan_filtering)
struct rtl8366_vlan_4k vlan4k;
int ret;
- if (!smi->ops->is_vlan_valid(smi, port))
+ /* Use VLAN nr port + 1 since VLAN0 is not valid */
+ if (!smi->ops->is_vlan_valid(smi, port + 1))
return -EINVAL;
dev_info(smi->dev, "%s filtering on port %d\n",
@@ -318,12 +319,12 @@ int rtl8366_vlan_filtering(struct dsa_switch *ds, int port, bool vlan_filtering)
* The hardware support filter ID (FID) 0..7, I have no clue how to
* support this in the driver when the callback only says on/off.
*/
- ret = smi->ops->get_vlan_4k(smi, port, &vlan4k);
+ ret = smi->ops->get_vlan_4k(smi, port + 1, &vlan4k);
if (ret)
return ret;
/* Just set the filter to FID 1 for now then */
- ret = rtl8366_set_vlan(smi, port,
+ ret = rtl8366_set_vlan(smi, port + 1,
vlan4k.member,
vlan4k.untag,
1);
--
2.21.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] net: dsa: rtl8366: Fix up VLAN filtering
2019-06-13 22:25 [PATCH] net: dsa: rtl8366: Fix up VLAN filtering Linus Walleij
@ 2019-06-15 20:41 ` David Miller
0 siblings, 0 replies; 2+ messages in thread
From: David Miller @ 2019-06-15 20:41 UTC (permalink / raw)
To: linus.walleij; +Cc: andrew, vivien.didelot, f.fainelli, netdev, stable
From: Linus Walleij <linus.walleij@linaro.org>
Date: Fri, 14 Jun 2019 00:25:20 +0200
> We get this regression when using RTL8366RB as part of a bridge
> with OpenWrt:
>
> WARNING: CPU: 0 PID: 1347 at net/switchdev/switchdev.c:291
> switchdev_port_attr_set_now+0x80/0xa4
> lan0: Commit of attribute (id=7) failed.
> (...)
> realtek-smi switch lan0: failed to initialize vlan filtering on this port
>
> This is because it is trying to disable VLAN filtering
> on VLAN0, as we have forgot to add 1 to the port number
> to get the right VLAN in rtl8366_vlan_filtering(): when
> we initialize the VLAN we associate VLAN1 with port 0,
> VLAN2 with port 1 etc, so we need to add 1 to the port
> offset.
>
> Fixes: d8652956cf37 ("net: dsa: realtek-smi: Add Realtek SMI driver")
> Cc: stable@vger.kernel.org
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Applied and queued up for -stable.
Please never CC: stable for networking fixes, I handle the stable submissions
myself as per the networking FAQ.
Thank you.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-06-15 20:41 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-13 22:25 [PATCH] net: dsa: rtl8366: Fix up VLAN filtering Linus Walleij
2019-06-15 20:41 ` David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).