diff --git a/net/batman-adv/translation-table.c b/net/batman-adv/translation-table.c index 01c74d4a7e52..2f7951e4c320 100644 --- a/net/batman-adv/translation-table.c +++ b/net/batman-adv/translation-table.c @@ -3815,15 +3815,11 @@ void batadv_tt_free(struct batadv_priv *bat_priv) } /** - * batadv_tt_local_set_flags() - set or unset the specified flags on the local - * table and possibly count them in the TT size + * batadv_tt_local_transition_new() - unset the NEW flag on the local + * table and count them in the TT size * @bat_priv: the bat priv with all the mesh interface information - * @flags: the flag to switch - * @enable: whether to set or unset the flag - * @count: whether to increase the TT size by the number of changed entries */ -static void batadv_tt_local_set_flags(struct batadv_priv *bat_priv, u16 flags, - bool enable, bool count) +static void batadv_tt_local_transition_new(struct batadv_priv *bat_priv) { struct batadv_hashtable *hash = bat_priv->tt.local_hash; struct batadv_tt_common_entry *tt_common_entry; @@ -3839,19 +3835,11 @@ static void batadv_tt_local_set_flags(struct batadv_priv *bat_priv, u16 flags, rcu_read_lock(); hlist_for_each_entry_rcu(tt_common_entry, head, hash_entry) { - if (enable) { - if ((tt_common_entry->flags & flags) == flags) - continue; - tt_common_entry->flags |= flags; - } else { - if (!(tt_common_entry->flags & flags)) - continue; - tt_common_entry->flags &= ~flags; - } - - if (!count) + if (!(tt_common_entry->flags & BATADV_TT_CLIENT_NEW)) continue; + tt_common_entry->flags &= ~BATADV_TT_CLIENT_NEW; + batadv_tt_local_size_inc(bat_priv, tt_common_entry->vid); } @@ -3924,7 +3912,7 @@ static void batadv_tt_local_commit_changes_nolock(struct batadv_priv *bat_priv) return; } - batadv_tt_local_set_flags(bat_priv, BATADV_TT_CLIENT_NEW, false, true); + batadv_tt_local_transition_new(bat_priv); batadv_tt_local_purge_pending_clients(bat_priv); batadv_tt_local_update_crc(bat_priv);