diff options
| -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 c79a92a0a..57088a974 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; | 
