diff options
author | David S. Miller <davem@davemloft.net> | 2015-06-14 08:56:52 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-06-14 08:56:52 +0200 |
commit | 25c43bf13b1657d9a2f6a2565e9159ce31517aa5 (patch) | |
tree | c1fef736d3227dbd3788206c746d00763247f232 /net/bridge/br_multicast.c | |
parent | tcp: tcp_v6_connect() cleanup (diff) | |
parent | Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net (diff) | |
download | linux-25c43bf13b1657d9a2f6a2565e9159ce31517aa5.tar.xz linux-25c43bf13b1657d9a2f6a2565e9159ce31517aa5.zip |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Diffstat (limited to 'net/bridge/br_multicast.c')
-rw-r--r-- | net/bridge/br_multicast.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c index 0b38ee98024b..2e246a1a9b43 100644 --- a/net/bridge/br_multicast.c +++ b/net/bridge/br_multicast.c @@ -1164,6 +1164,9 @@ static void br_multicast_add_router(struct net_bridge *br, struct net_bridge_port *p; struct hlist_node *slot = NULL; + if (!hlist_unhashed(&port->rlist)) + return; + hlist_for_each_entry(p, &br->router_list, rlist) { if ((unsigned long) port >= (unsigned long) p) break; @@ -1191,12 +1194,8 @@ static void br_multicast_mark_router(struct net_bridge *br, if (port->multicast_router != 1) return; - if (!hlist_unhashed(&port->rlist)) - goto timer; - br_multicast_add_router(br, port); -timer: mod_timer(&port->multicast_router_timer, now + br->multicast_querier_interval); } |