[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1479779676-10417-1-git-send-email-fgao@ikuai8.com>
Date: Tue, 22 Nov 2016 09:54:36 +0800
From: fgao@...ai8.com
To: davem@...emloft.net, kaber@...sh.net, netdev@...r.kernel.org,
gfree.wind@...il.com
Cc: Gao Feng <fgao@...ai8.com>
Subject: [PATCH net 1/1] driver: macvlan: Check if need rollback multicast setting in macvlan_open
From: Gao Feng <fgao@...ai8.com>
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: Gao Feng <fgao@...ai8.com>
---
drivers/net/macvlan.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c
index d2d6f12..26d6f0b 100644
--- a/drivers/net/macvlan.c
+++ b/drivers/net/macvlan.c
@@ -623,7 +623,8 @@ static int macvlan_open(struct net_device *dev)
return 0;
clear_multi:
- dev_set_allmulti(lowerdev, -1);
+ if (dev->flags & IFF_ALLMULTI)
+ dev_set_allmulti(lowerdev, -1);
del_unicast:
dev_uc_del(lowerdev, dev->dev_addr);
out:
--
1.9.1
Powered by blists - more mailing lists