dsa: fix promiscuity leak on slave dev open error
authorGilad Ben-Yossef <[email protected]>
Thu, 25 Jun 2015 13:50:13 +0000 (16:50 +0300)
committerDavid S. Miller <[email protected]>
Sun, 28 Jun 2015 23:57:08 +0000 (16:57 -0700)
DSA master netdev promiscuity counter was not being properly
decremented on slave device open error path.

Signed-off-by: Gilad Ben-Yossef <[email protected]>
CC: Gilad Ben-Yossef <[email protected]>
CC: David S. Miller <[email protected]>
CC: Florian Fainelli <[email protected]>
CC: Guenter Roeck <[email protected]>
CC: Andrew Lunn <[email protected]>
CC: Scott Feldman <[email protected]>
Acked-by: Andrew Lunn <[email protected]>
Acked-by: Florian Fainelli <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
net/dsa/slave.c

index 04ffad311704852a5d2c35c99eea2f1c4293f5e1..0917123790eaf09b001c97a733039185fdb0a800 100644 (file)
@@ -112,7 +112,7 @@ static int dsa_slave_open(struct net_device *dev)
 
 clear_promisc:
        if (dev->flags & IFF_PROMISC)
-               dev_set_promiscuity(master, 0);
+               dev_set_promiscuity(master, -1);
 clear_allmulti:
        if (dev->flags & IFF_ALLMULTI)
                dev_set_allmulti(master, -1);