From c33e016fa55f8f56d70289739c6668ef5a2aa07a Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 12 Jan 2012 10:15:08 +0000 Subject: ar8216: do not strip vlan tags when running with vlan_enable=0 SVN-Revision: 29718 --- target/linux/generic/files/drivers/net/phy/ar8216.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'target/linux/generic/files/drivers/net/phy') diff --git a/target/linux/generic/files/drivers/net/phy/ar8216.c b/target/linux/generic/files/drivers/net/phy/ar8216.c index c79a92a..57088a9 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; -- cgit v1.1