diff options
Diffstat (limited to 'net')
-rw-r--r-- | net/core/dev.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 4fad9db417b1..2cba5c521e56 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
@@ -3665,10 +3665,10 @@ void __dev_set_rx_mode(struct net_device *dev) | |||
3665 | /* Unicast addresses changes may only happen under the rtnl, | 3665 | /* Unicast addresses changes may only happen under the rtnl, |
3666 | * therefore calling __dev_set_promiscuity here is safe. | 3666 | * therefore calling __dev_set_promiscuity here is safe. |
3667 | */ | 3667 | */ |
3668 | if (dev->uc.count > 0 && !dev->uc_promisc) { | 3668 | if (!netdev_uc_empty(dev) && !dev->uc_promisc) { |
3669 | __dev_set_promiscuity(dev, 1); | 3669 | __dev_set_promiscuity(dev, 1); |
3670 | dev->uc_promisc = 1; | 3670 | dev->uc_promisc = 1; |
3671 | } else if (dev->uc.count == 0 && dev->uc_promisc) { | 3671 | } else if (netdev_uc_empty(dev) && dev->uc_promisc) { |
3672 | __dev_set_promiscuity(dev, -1); | 3672 | __dev_set_promiscuity(dev, -1); |
3673 | dev->uc_promisc = 0; | 3673 | dev->uc_promisc = 0; |
3674 | } | 3674 | } |