| From 099fb5c9f4f020108140d6046513f9db8eedd351 Mon Sep 17 00:00:00 2001 |
| From: Florian Fainelli <f.fainelli@gmail.com> |
| Date: Fri, 14 Feb 2020 15:26:19 -0800 |
| Subject: [PATCH] net: dsa: b53: Ensure the default VID is untagged |
| |
| commit d965a5432d4c3e6b9c3d2bc1d4a800013bbf76f6 upstream. |
| |
| We need to ensure that the default VID is untagged otherwise the switch |
| will be sending tagged frames and the results can be problematic. This |
| is especially true with b53 switches that use VID 0 as their default |
| VLAN since VID 0 has a special meaning. |
| |
| Fixes: fea83353177a ("net: dsa: b53: Fix default VLAN ID") |
| Fixes: 061f6a505ac3 ("net: dsa: Add ndo_vlan_rx_{add, kill}_vid implementation") |
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_common.c |
| index 131791ce5058..e10c7c3bebeb 100644 |
| --- a/drivers/net/dsa/b53/b53_common.c |
| +++ b/drivers/net/dsa/b53/b53_common.c |
| @@ -1337,6 +1337,9 @@ void b53_vlan_add(struct dsa_switch *ds, int port, |
| |
| b53_get_vlan_entry(dev, vid, vl); |
| |
| + if (vid == 0 && vid == b53_default_pvid(dev)) |
| + untagged = true; |
| + |
| vl->members |= BIT(port); |
| if (untagged && !dsa_is_cpu_port(ds, port)) |
| vl->untag |= BIT(port); |
| -- |
| 2.7.4 |
| |