rtl8366_smi: fix return codes in rtl8366s_reset_vlan
[openwrt/svn-archive/archive.git] / target / linux / ar71xx / files / drivers / net / phy / rtl8366_smi.c
index 6e890b451c0cd6c22fdbc4501f52c87ed7b1d297..6c807bc020f545d68aa9f9fa5e2053e8865d3efc 100644 (file)
@@ -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;