generic: ar8216: merge multiple if statements in ar8216_hw_apply

SVN-Revision: 30928
This commit is contained in:
Gabor Juhos 2012-03-13 17:33:12 +00:00
parent 6a57a1fbdb
commit e3af7c82f8

View File

@ -621,24 +621,18 @@ ar8216_hw_apply(struct switch_dev *dev)
int egress, ingress; int egress, ingress;
int pvid; int pvid;
if (priv->vlan)
pvid = priv->vlan_id[priv->pvid[i]];
else
pvid = i;
if (priv->vlan) { if (priv->vlan) {
pvid = priv->vlan_id[priv->pvid[i]];
if (priv->vlan_tagged & (1 << i)) if (priv->vlan_tagged & (1 << i))
egress = AR8216_OUT_ADD_VLAN; egress = AR8216_OUT_ADD_VLAN;
else else
egress = AR8216_OUT_STRIP_VLAN; egress = AR8216_OUT_STRIP_VLAN;
} else {
egress = AR8216_OUT_KEEP;
}
if (priv->vlan)
ingress = AR8216_IN_SECURE; ingress = AR8216_IN_SECURE;
else } else {
pvid = i;
egress = AR8216_OUT_KEEP;
ingress = AR8216_IN_PORT_ONLY; ingress = AR8216_IN_PORT_ONLY;
}
if (priv->chip == AR8236) if (priv->chip == AR8236)
ar8236_setup_port(priv, i, egress, ingress, portmask[i], ar8236_setup_port(priv, i, egress, ingress, portmask[i],