rtl8366_smi: fix return codes in rtl8366s_reset_vlan
[openwrt.git] / target / linux / ar71xx / files / drivers / net / phy / rtl8366_smi.c
index b9158d6..6c807bc 100644 (file)
@@ -936,19 +936,21 @@ 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;
+       vlanmc.priority = 0;
+       vlanmc.member = 0;
+       vlanmc.untag = 0;
+       vlanmc.fid = 0;
        for (i = 0; i < RTL8366_NUM_VLANS; i++) {
-               vlanmc.vid = 0;
-               vlanmc.priority = 0;
-               vlanmc.member = 0;
-               vlanmc.untag = 0;
-               vlanmc.fid = 0;
-               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;
@@ -1498,7 +1502,8 @@ static int rtl8366_get_ports(struct switch_dev *dev,
                        continue;
 
                port->id = i;
-               port->flags = vlanmc.untag ? 0 : BIT(SWITCH_PORT_FLAG_TAGGED);
+               port->flags = (vlanmc.untag & BIT(i)) ?
+                                       0 : BIT(SWITCH_PORT_FLAG_TAGGED);
                val->len++;
                port++;
        }
This page took 0.025756 seconds and 4 git commands to generate.