net: delete duplicate dev_set_rx_mode() call
authorPeter Pan(潘卫平) <panweiping3@gmail.com>
Mon, 16 Jun 2014 13:57:22 +0000 (21:57 +0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 17 Jun 2014 22:30:54 +0000 (15:30 -0700)
In __dev_open(), it already calls dev_set_rx_mode().
and dev_set_rx_mode() has no effect for a net device which does not have
IFF_UP flag set.

So the call of dev_set_rx_mode() is duplicate in __dev_change_flags().

Signed-off-by: Weiping Pan <panweiping3@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/dev.c

index 30eedf6779138d77ae9c54ca5efa8bf57587e7ac..a04b12f31e18b07b64158b93c20c3e1acfe2fdbe 100644 (file)
@@ -5432,13 +5432,9 @@ int __dev_change_flags(struct net_device *dev, unsigned int flags)
         */
 
        ret = 0;
-       if ((old_flags ^ flags) & IFF_UP) {     /* Bit is different  ? */
+       if ((old_flags ^ flags) & IFF_UP)
                ret = ((old_flags & IFF_UP) ? __dev_close : __dev_open)(dev);
 
-               if (!ret)
-                       dev_set_rx_mode(dev);
-       }
-
        if ((flags ^ dev->gflags) & IFF_PROMISC) {
                int inc = (flags & IFF_PROMISC) ? 1 : -1;
                unsigned int old_flags = dev->flags;