net: dsa: b53: Do not program CPU port's PVID
authorFlorian Fainelli <f.fainelli@gmail.com>
Fri, 15 Feb 2019 20:16:53 +0000 (12:16 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sat, 16 Feb 2019 04:37:54 +0000 (20:37 -0800)
The CPU port is special and does not need to obey VLAN restrictions as
far as untagged traffic goes, also, having the CPU port be part of a
particular PVID is against the idea of keeping it tagged in all VLANs.

Fixes: ca8931948344 ("net: dsa: b53: Keep CPU port as tagged in all VLANs")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/b53/b53_common.c

index 2fef4c564420e306583afdb13ff6e8c8f756a4d8..c76892ac4e699cf083c74330c398e36b91b86a8c 100644 (file)
@@ -1359,7 +1359,7 @@ void b53_vlan_add(struct dsa_switch *ds, int port,
                b53_fast_age_vlan(dev, vid);
        }
 
-       if (pvid) {
+       if (pvid && !dsa_is_cpu_port(ds, port)) {
                b53_write16(dev, B53_VLAN_PAGE, B53_VLAN_PORT_DEF_TAG(port),
                            vlan->vid_end);
                b53_fast_age_vlan(dev, vid);