diff options
author | Jan Kara <jack@suse.cz> | 2015-01-30 10:16:33 +0100 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2015-01-30 10:16:33 +0100 |
commit | 1cd6b7be92016538ea1f2a8e1f955e9b974d93ea (patch) | |
tree | 77ca10be1da7aaf19cde95de0cb9c4bfcde636a0 /net/batman-adv/multicast.c | |
parent | a39427007e7ccd83dbb7cd81b18156cebeab4d1e (diff) | |
parent | 14bf61ffe6ac54afcd1e888a4407fe16054483db (diff) | |
download | linux-1cd6b7be92016538ea1f2a8e1f955e9b974d93ea.tar.bz2 |
Merge branch 'for_linus' into for_next
Diffstat (limited to 'net/batman-adv/multicast.c')
-rw-r--r-- | net/batman-adv/multicast.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/net/batman-adv/multicast.c b/net/batman-adv/multicast.c index ab6bb2af1d45..b24e4bb64fb5 100644 --- a/net/batman-adv/multicast.c +++ b/net/batman-adv/multicast.c @@ -685,11 +685,13 @@ static void batadv_mcast_tvlv_ogm_handler_v1(struct batadv_priv *bat_priv, if (orig_initialized) atomic_dec(&bat_priv->mcast.num_disabled); orig->capabilities |= BATADV_ORIG_CAPA_HAS_MCAST; - /* If mcast support is being switched off increase the disabled - * mcast node counter. + /* If mcast support is being switched off or if this is an initial + * OGM without mcast support then increase the disabled mcast + * node counter. */ } else if (!orig_mcast_enabled && - orig->capabilities & BATADV_ORIG_CAPA_HAS_MCAST) { + (orig->capabilities & BATADV_ORIG_CAPA_HAS_MCAST || + !orig_initialized)) { atomic_inc(&bat_priv->mcast.num_disabled); orig->capabilities &= ~BATADV_ORIG_CAPA_HAS_MCAST; } @@ -738,7 +740,8 @@ void batadv_mcast_purge_orig(struct batadv_orig_node *orig) { struct batadv_priv *bat_priv = orig->bat_priv; - if (!(orig->capabilities & BATADV_ORIG_CAPA_HAS_MCAST)) + if (!(orig->capabilities & BATADV_ORIG_CAPA_HAS_MCAST) && + orig->capa_initialized & BATADV_ORIG_CAPA_HAS_MCAST) atomic_dec(&bat_priv->mcast.num_disabled); batadv_mcast_want_unsnoop_update(bat_priv, orig, BATADV_NO_FLAGS); |