diff options
author | wangweidong <wangweidong1@huawei.com> | 2014-05-28 22:15:30 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-06-02 01:05:16 -0400 |
commit | 019ee792d7861fde33e6c2331a8b32a2b975e865 (patch) | |
tree | 9c8fe92378c2bd49589169af10bb7b92826582eb /net | |
parent | ee39facbf82e73e468c504d2b40e83e2d223c28c (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')
-rw-r--r-- | net/bridge/br_if.c | 2 |
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 */ |
530 | err1: | 530 | err1: |
531 | dev_set_promiscuity(dev, -1); | 531 | dev_set_allmulti(dev, -1); |
532 | put_back: | 532 | put_back: |
533 | dev_put(dev); | 533 | dev_put(dev); |
534 | kfree(p); | 534 | kfree(p); |