summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--target/linux/generic/files/drivers/net/phy/ar8216.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/target/linux/generic/files/drivers/net/phy/ar8216.c b/target/linux/generic/files/drivers/net/phy/ar8216.c
index ffa561b36..4b67cb6cb 100644
--- a/target/linux/generic/files/drivers/net/phy/ar8216.c
+++ b/target/linux/generic/files/drivers/net/phy/ar8216.c
@@ -621,24 +621,18 @@ ar8216_hw_apply(struct switch_dev *dev)
int egress, ingress;
int pvid;
- if (priv->vlan)
- pvid = priv->vlan_id[priv->pvid[i]];
- else
- pvid = i;
-
if (priv->vlan) {
+ pvid = priv->vlan_id[priv->pvid[i]];
if (priv->vlan_tagged & (1 << i))
egress = AR8216_OUT_ADD_VLAN;
else
egress = AR8216_OUT_STRIP_VLAN;
+ ingress = AR8216_IN_SECURE;
} else {
+ pvid = i;
egress = AR8216_OUT_KEEP;
- }
-
- if (priv->vlan)
- ingress = AR8216_IN_SECURE;
- else
ingress = AR8216_IN_PORT_ONLY;
+ }
if (priv->chip == AR8236)
ar8236_setup_port(priv, i, egress, ingress, portmask[i],