diff --git a/[refs] b/[refs] index d991f9d0291c..d53c94d33dfa 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: bc971dee6ece1fd0d431948924becd9c50e7b778 +refs/heads/master: 52609c0b56d7c8dfb6e16ec0a715adf8fcbdae36 diff --git a/trunk/net/core/dev.c b/trunk/net/core/dev.c index 7016e0c36b3d..7f5f62c65115 100644 --- a/trunk/net/core/dev.c +++ b/trunk/net/core/dev.c @@ -2089,10 +2089,11 @@ void dev_set_promiscuity(struct net_device *dev, int inc) { unsigned short old_flags = dev->flags; - dev->flags |= IFF_PROMISC; if ((dev->promiscuity += inc) == 0) dev->flags &= ~IFF_PROMISC; - if (dev->flags ^ old_flags) { + else + dev->flags |= IFF_PROMISC; + if (dev->flags != old_flags) { dev_mc_upload(dev); printk(KERN_INFO "device %s %s promiscuous mode\n", dev->name, (dev->flags & IFF_PROMISC) ? "entered" :