From: Peter Pan(潘卫平) Date: Mon, 16 Jun 2014 13:57:22 +0000 (+0800) Subject: net: delete duplicate dev_set_rx_mode() call X-Git-Tag: firefly_0821_release~176^2~3474^2~281 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=d215d10f2d6bd41ce9d11a2707568bbb50d2c32e;p=firefly-linux-kernel-4.4.55.git net: delete duplicate dev_set_rx_mode() call 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 Signed-off-by: David S. Miller --- diff --git a/net/core/dev.c b/net/core/dev.c index 30eedf677913..a04b12f31e18 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -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;