Commit c3891fa2 authored by Gao Feng's avatar Gao Feng Committed by David S. Miller

driver: macvlan: Check if need rollback multicast setting in macvlan_open

When dev_set_promiscuity failed in macvlan_open, it always invokes
dev_set_allmulti without checking if necessary.
Now check the IFF_ALLMULTI flag firstly before rollback the multicast
setting in the error handler.
Signed-off-by: default avatarGao Feng <fgao@ikuai8.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent ffa54a23
...@@ -623,7 +623,8 @@ static int macvlan_open(struct net_device *dev) ...@@ -623,7 +623,8 @@ static int macvlan_open(struct net_device *dev)
return 0; return 0;
clear_multi: clear_multi:
dev_set_allmulti(lowerdev, -1); if (dev->flags & IFF_ALLMULTI)
dev_set_allmulti(lowerdev, -1);
del_unicast: del_unicast:
dev_uc_del(lowerdev, dev->dev_addr); dev_uc_del(lowerdev, dev->dev_addr);
out: out:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment