diff --git a/target/linux/generic/files/drivers/net/phy/ar8216.c b/target/linux/generic/files/drivers/net/phy/ar8216.c
index 746d8e6c3dcc312b03f851901b0c4d9ec8edfa96..27b062bc478bc1429ede386cb7ecb2b8a037bb03 100644
--- a/target/linux/generic/files/drivers/net/phy/ar8216.c
+++ b/target/linux/generic/files/drivers/net/phy/ar8216.c
@@ -975,7 +975,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_PORTS)
+	if (val->port_vlan >= AR8X16_MAX_VLANS)
 		return -EINVAL;
 
 	priv->vlan_id[val->port_vlan] = val->value.i;