diff --git a/target/linux/ar71xx/files/drivers/net/phy/rtl8366_smi.c b/target/linux/ar71xx/files/drivers/net/phy/rtl8366_smi.c
index 6e890b451c0cd6c22fdbc4501f52c87ed7b1d297..6c807bc020f545d68aa9f9fa5e2053e8865d3efc 100644
--- a/target/linux/ar71xx/files/drivers/net/phy/rtl8366_smi.c
+++ b/target/linux/ar71xx/files/drivers/net/phy/rtl8366_smi.c
@@ -936,9 +936,10 @@ static int rtl8366_vlan_set_4ktable(struct rtl8366_smi *smi, int enable)
 
 static int rtl8366s_reset_vlan(struct rtl8366_smi *smi)
 {
-	int i;
 	struct rtl8366s_vlan4kentry vlan4k;
 	struct rtl8366s_vlanconfig vlanmc;
+	int err;
+	int i;
 
 	/* clear 16 VLAN member configuration */
 	vlanmc.vid = 0;
@@ -947,8 +948,9 @@ static int rtl8366s_reset_vlan(struct rtl8366_smi *smi)
 	vlanmc.untag = 0;
 	vlanmc.fid = 0;
 	for (i = 0; i < RTL8366_NUM_VLANS; i++) {
-		if (rtl8366s_set_vlan_member_config(smi, i, &vlanmc) != 0)
-			return -EIO;
+		err = rtl8366s_set_vlan_member_config(smi, i, &vlanmc);
+		if (err)
+			return err;
 	}
 
 	/* Set a default VLAN with vid 1 to 4K table for all ports */
@@ -956,13 +958,15 @@ static int rtl8366s_reset_vlan(struct rtl8366_smi *smi)
 	vlan4k.member = RTL8366_PORT_ALL;
 	vlan4k.untag = RTL8366_PORT_ALL;
 	vlan4k.fid = 0;
-	if (rtl8366s_set_vlan_4k_entry(smi, &vlan4k) != 0)
-		return -EIO;
+	err = rtl8366s_set_vlan_4k_entry(smi, &vlan4k);
+	if (err)
+		return err;
 
 	/* Set all ports PVID to default VLAN */
 	for (i = 0; i < RTL8366_NUM_PORTS; i++) {
-		if (rtl8366_set_vlan_port_pvid(smi, i, 0) != 0)
-			return -EIO;
+		err = rtl8366_set_vlan_port_pvid(smi, i, 0);
+		if (err)
+			return err;
 	}
 
 	return 0;