net: dsa: mt7530: set CPU port to fallback mode
authorDENG Qingfang <dqfext@gmail.com>
Wed, 13 May 2020 15:37:17 +0000 (23:37 +0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 13 May 2020 22:24:35 +0000 (15:24 -0700)
commit38152ea37d8bdaffa22603e0a5b5b86cfa8714c9
tree15062f569cb58616be8312d3e57f0e81fe2d33f7
parent5e3768a436bb70c9c3e27aaba6b73f8ef8f5dcf3
net: dsa: mt7530: set CPU port to fallback mode

Currently, setting a bridge's self PVID to other value and deleting
the default VID 1 renders untagged ports of that VLAN unable to talk to
the CPU port:

bridge vlan add dev br0 vid 2 pvid untagged self
bridge vlan del dev br0 vid 1 self
bridge vlan add dev sw0p0 vid 2 pvid untagged
bridge vlan del dev sw0p0 vid 1
# br0 cannot send untagged frames out of sw0p0 anymore

That is because the CPU port is set to security mode and its PVID is
still 1, and untagged frames are dropped due to VLAN member violation.

Set the CPU port to fallback mode so untagged frames can pass through.

Fixes: 83163f7dca56 ("net: dsa: mediatek: add VLAN support for MT7530")
Signed-off-by: DENG Qingfang <dqfext@gmail.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/mt7530.c
drivers/net/dsa/mt7530.h