--- /dev/null
+--- a/drivers/net/ethernet/mediatek/mt7530.c
++++ b/drivers/net/ethernet/mediatek/mt7530.c
+@@ -539,6 +539,7 @@
+ u8 etags = priv->vlan_entries[i].etags;
+ u32 val;
+
++#ifndef CONFIG_SOC_MT7621
+ /* vid of vlan */
+ val = mt7530_r32(priv, REG_ESW_VLAN_VTIM(i));
+ if (i % 2 == 0) {
+@@ -549,7 +550,7 @@
+ val |= (vid << 12);
+ }
+ mt7530_w32(priv, REG_ESW_VLAN_VTIM(i), val);
+-
++#endif
+ /* vlan port membership */
+ if (member)
+ mt7530_w32(priv, REG_ESW_VLAN_VAWD1, REG_ESW_VLAN_VAWD1_IVL_MAC |
+@@ -569,7 +570,11 @@
+ mt7530_w32(priv, REG_ESW_VLAN_VAWD2, val);
+
+ /* write to vlan table */
++#ifdef CONFIG_SOC_MT7621
++ mt7530_vtcr(priv, 1, vid);
++#else
+ mt7530_vtcr(priv, 1, i);
++#endif
+ }
+
+ /* Port Default PVID */