net: netcp: ethss: fix up incorrect use of list api
authorKaricheri, Muralidharan <m-karicheri2@ti.com>
Tue, 28 Jul 2015 22:20:13 +0000 (18:20 -0400)
committerDavid S. Miller <davem@davemloft.net>
Thu, 30 Jul 2015 01:37:40 +0000 (18:37 -0700)
The code seems to assume a null is returned when the list is empty
from first_sec_slave() to break the loop which is incorrect. Fix the
code by using list_empty().

Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ti/netcp_ethss.c

index a21881219865952d907f36df1f4013d1953d9539..d11d6172941aaa91adab462d71396fb4dde25846 100644 (file)
@@ -2508,10 +2508,9 @@ static void free_secondary_ports(struct gbe_priv *gbe_dev)
 {
        struct gbe_slave *slave;
 
-       for (;;) {
+       while (!list_empty(&gbe_dev->secondary_slaves)) {
                slave = first_sec_slave(gbe_dev);
-               if (!slave)
-                       break;
+
                if (slave->phy)
                        phy_disconnect(slave->phy);
                list_del(&slave->slave_list);