diff options
author | Felix Fietkau <nbd@openwrt.org> | 2012-01-12 10:15:08 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2012-01-12 10:15:08 +0000 |
commit | a556557bc7e28e08837c7704c29f16e5a536ffba (patch) | |
tree | fff9b3e6f039ea6aa75b8831b2792129f5def057 /target/linux/generic | |
parent | cb544f1fd3e573b077a175bb117c4782c4eeacf7 (diff) | |
download | master-187ad058-a556557bc7e28e08837c7704c29f16e5a536ffba.tar.gz master-187ad058-a556557bc7e28e08837c7704c29f16e5a536ffba.tar.bz2 master-187ad058-a556557bc7e28e08837c7704c29f16e5a536ffba.zip |
ar8216: do not strip vlan tags when running with vlan_enable=0
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29718 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/generic')
-rw-r--r-- | target/linux/generic/files/drivers/net/phy/ar8216.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/target/linux/generic/files/drivers/net/phy/ar8216.c b/target/linux/generic/files/drivers/net/phy/ar8216.c index c79a92a0a1..57088a9748 100644 --- a/target/linux/generic/files/drivers/net/phy/ar8216.c +++ b/target/linux/generic/files/drivers/net/phy/ar8216.c @@ -593,10 +593,13 @@ ar8216_hw_apply(struct switch_dev *dev) pvid = i; } - if (priv->vlan && (priv->vlan_tagged & (1 << i))) { - egress = AR8216_OUT_ADD_VLAN; + if (priv->vlan) { + if (priv->vlan_tagged & (1 << i)) + egress = AR8216_OUT_ADD_VLAN; + else + egress = AR8216_OUT_STRIP_VLAN; } else { - egress = AR8216_OUT_STRIP_VLAN; + egress = AR8216_OUT_KEEP; } if (priv->vlan) { ingress = AR8216_IN_SECURE; |