rtl83xx: dsa: disable VLAN filtering on CPU port
Before driver code - enabled egress filter for cpu and non-cpu ports - enabled ingress filter for non-cpu ports This patch explicitly enables ingress and egress filtering for non-cpu ports and disables ingress and egress filtering for cpu port. Acked-by: Simon Wunderlich <sw@simonwunderlich.de> Signed-off-by: Harshal Gohel <hg@simonwunderlich.de>
This commit is contained in:
parent
3e753c45cd
commit
e0c0137eed
1 changed files with 7 additions and 2 deletions
|
@ -1357,10 +1357,15 @@ static int rtl83xx_vlan_filtering(struct dsa_switch *ds, int port,
|
||||||
* 2: Trap packet to CPU port
|
* 2: Trap packet to CPU port
|
||||||
* The Egress filter used 1 bit per state (0: DISABLED, 1: ENABLED)
|
* The Egress filter used 1 bit per state (0: DISABLED, 1: ENABLED)
|
||||||
*/
|
*/
|
||||||
if (port != priv->cpu_port)
|
if (port != priv->cpu_port) {
|
||||||
priv->r->set_vlan_igr_filter(port, IGR_DROP);
|
priv->r->set_vlan_igr_filter(port, IGR_DROP);
|
||||||
|
priv->r->set_vlan_egr_filter(port, EGR_ENABLE);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
priv->r->set_vlan_igr_filter(port, IGR_TRAP);
|
||||||
|
priv->r->set_vlan_egr_filter(port, EGR_DISABLE);
|
||||||
|
}
|
||||||
|
|
||||||
priv->r->set_vlan_egr_filter(port, EGR_ENABLE);
|
|
||||||
} else {
|
} else {
|
||||||
/* Disable ingress and egress filtering */
|
/* Disable ingress and egress filtering */
|
||||||
if (port != priv->cpu_port)
|
if (port != priv->cpu_port)
|
||||||
|
|
Loading…
Reference in a new issue