diff options
author | Gabor Juhos <juhosg@openwrt.org> | 2012-03-01 19:49:05 +0000 |
---|---|---|
committer | Gabor Juhos <juhosg@openwrt.org> | 2012-03-01 19:49:05 +0000 |
commit | 705284797218b347ac67a73f0477ff75ed5ede56 (patch) | |
tree | 0f76447c45d71ae309d7021c8c88a8a1ba2c0893 /target/linux/ar71xx/files/drivers/net/ethernet/atheros | |
parent | 9698a499b69b8f132bc263e324b9938bb31dde7b (diff) | |
download | upstream-705284797218b347ac67a73f0477ff75ed5ede56.tar.gz upstream-705284797218b347ac67a73f0477ff75ed5ede56.tar.bz2 upstream-705284797218b347ac67a73f0477ff75ed5ede56.zip |
ar71xx: ag71xx: keep VLAN tags if VLAN is not enabled
SVN-Revision: 30768
Diffstat (limited to 'target/linux/ar71xx/files/drivers/net/ethernet/atheros')
-rw-r--r-- | target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar7240.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar7240.c b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar7240.c index ab7abd9e5c..0fc4ba708f 100644 --- a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar7240.c +++ b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar7240.c @@ -631,11 +631,15 @@ static void ar7240sw_setup_port(struct ar7240sw *as, unsigned port, u8 portmask) mode = AR7240_PORT_VLAN_MODE_PORT_ONLY; } - if (as->vlan && (as->vlan_tagged & BIT(port))) { - ctrl |= AR7240_PORT_CTRL_VLAN_MODE_ADD << - AR7240_PORT_CTRL_VLAN_MODE_S; + if (as->vlan) { + if (as->vlan_tagged & BIT(port)) + ctrl |= AR7240_PORT_CTRL_VLAN_MODE_ADD << + AR7240_PORT_CTRL_VLAN_MODE_S; + else + ctrl |= AR7240_PORT_CTRL_VLAN_MODE_STRIP << + AR7240_PORT_CTRL_VLAN_MODE_S; } else { - ctrl |= AR7240_PORT_CTRL_VLAN_MODE_STRIP << + ctrl |= AR7240_PORT_CTRL_VLAN_MODE_KEEP << AR7240_PORT_CTRL_VLAN_MODE_S; } |