ar71xx: ag71xx: keep VLAN tags if VLAN is not enabled

SVN-Revision: 30768
This commit is contained in:
Gabor Juhos 2012-03-01 19:49:05 +00:00
parent 9698a499b6
commit 7052847972

View file

@ -631,12 +631,16 @@ static void ar7240sw_setup_port(struct ar7240sw *as, unsigned port, u8 portmask)
mode = AR7240_PORT_VLAN_MODE_PORT_ONLY; mode = AR7240_PORT_VLAN_MODE_PORT_ONLY;
} }
if (as->vlan && (as->vlan_tagged & BIT(port))) { if (as->vlan) {
if (as->vlan_tagged & BIT(port))
ctrl |= AR7240_PORT_CTRL_VLAN_MODE_ADD << ctrl |= AR7240_PORT_CTRL_VLAN_MODE_ADD <<
AR7240_PORT_CTRL_VLAN_MODE_S; AR7240_PORT_CTRL_VLAN_MODE_S;
} else { else
ctrl |= AR7240_PORT_CTRL_VLAN_MODE_STRIP << ctrl |= AR7240_PORT_CTRL_VLAN_MODE_STRIP <<
AR7240_PORT_CTRL_VLAN_MODE_S; AR7240_PORT_CTRL_VLAN_MODE_S;
} else {
ctrl |= AR7240_PORT_CTRL_VLAN_MODE_KEEP <<
AR7240_PORT_CTRL_VLAN_MODE_S;
} }
if (!portmask) { if (!portmask) {