aboutsummaryrefslogtreecommitdiffstats
path: root/net/bridge
diff options
context:
space:
mode:
authorwangweidong <wangweidong1@huawei.com>2014-05-28 22:15:30 -0400
committerDavid S. Miller <davem@davemloft.net>2014-06-02 01:05:16 -0400
commit019ee792d7861fde33e6c2331a8b32a2b975e865 (patch)
tree9c8fe92378c2bd49589169af10bb7b92826582eb /net/bridge
parentee39facbf82e73e468c504d2b40e83e2d223c28c (diff)
bridge: fix the unbalanced promiscuous count when add_if failed
As commit 2796d0c648c94 ("bridge: Automatically manage port promiscuous mode."), make the add_if use dev_set_allmulti instead of dev_set_promiscuous, so when add_if failed, we should do dev_set_allmulti(dev, -1). Signed-off-by: Wang Weidong <wangweidong1@huawei.com> Reviewed-by: Amos Kong <akong@redhat.com> Acked-by: Vlad Yasevich <vyasevic@redhat.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/bridge')
-rw-r--r--net/bridge/br_if.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/bridge/br_if.c b/net/bridge/br_if.c
index 104a811dde57..a08d2b8ebba6 100644
--- a/net/bridge/br_if.c
+++ b/net/bridge/br_if.c
@@ -528,7 +528,7 @@ err2:
528 kobject_put(&p->kobj); 528 kobject_put(&p->kobj);
529 p = NULL; /* kobject_put frees */ 529 p = NULL; /* kobject_put frees */
530err1: 530err1:
531 dev_set_promiscuity(dev, -1); 531 dev_set_allmulti(dev, -1);
532put_back: 532put_back:
533 dev_put(dev); 533 dev_put(dev);
534 kfree(p); 534 kfree(p);