|
@@ -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;
|
|
|
}
|