|
|
@@ -1204,7 +1204,7 @@ ar8xxx_sw_set_vid(struct switch_dev *dev, const struct switch_attr *attr,
|
|
|
{
|
|
|
struct ar8xxx_priv *priv = swdev_to_ar8xxx(dev);
|
|
|
|
|
|
- if (val->port_vlan >= AR8X16_MAX_VLANS)
|
|
|
+ if (val->port_vlan >= dev->vlans)
|
|
|
return -EINVAL;
|
|
|
|
|
|
priv->vlan_id[val->port_vlan] = val->value.i;
|
|
|
@@ -1237,7 +1237,7 @@ ar8xxx_sw_get_ports(struct switch_dev *dev, struct switch_val *val)
|
|
|
u8 ports;
|
|
|
int i;
|
|
|
|
|
|
- if (val->port_vlan >= AR8X16_MAX_VLANS)
|
|
|
+ if (val->port_vlan >= dev->vlans)
|
|
|
return -EINVAL;
|
|
|
|
|
|
ports = priv->vlan_table[val->port_vlan];
|
|
|
@@ -1277,7 +1277,7 @@ ar8xxx_sw_set_ports(struct switch_dev *dev, struct switch_val *val)
|
|
|
|
|
|
/* make sure that an untagged port does not
|
|
|
* appear in other vlans */
|
|
|
- for (j = 0; j < AR8X16_MAX_VLANS; j++) {
|
|
|
+ for (j = 0; j < dev->vlans; j++) {
|
|
|
if (j == val->port_vlan)
|
|
|
continue;
|
|
|
priv->vlan_table[j] &= ~(1 << p->id);
|
|
|
@@ -1356,7 +1356,7 @@ ar8xxx_sw_hw_apply(struct switch_dev *dev)
|
|
|
if (!priv->init) {
|
|
|
/* calculate the port destination masks and load vlans
|
|
|
* into the vlan translation unit */
|
|
|
- for (j = 0; j < AR8X16_MAX_VLANS; j++) {
|
|
|
+ for (j = 0; j < dev->vlans; j++) {
|
|
|
u8 vp = priv->vlan_table[j];
|
|
|
|
|
|
if (!vp)
|
|
|
@@ -1409,7 +1409,7 @@ ar8xxx_sw_reset_switch(struct switch_dev *dev)
|
|
|
memset(&priv->vlan, 0, sizeof(struct ar8xxx_priv) -
|
|
|
offsetof(struct ar8xxx_priv, vlan));
|
|
|
|
|
|
- for (i = 0; i < AR8X16_MAX_VLANS; i++)
|
|
|
+ for (i = 0; i < dev->vlans; i++)
|
|
|
priv->vlan_id[i] = i;
|
|
|
|
|
|
/* Configure all ports */
|