Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 81e26b1a authored by Antonio Quartulli's avatar Antonio Quartulli Committed by Antonio Quartulli
Browse files

batman-adv: adapt the neighbor purging routine to use the new API functions

parent 6680a124
Loading
Loading
Loading
Loading
+9 −8
Original line number Diff line number Diff line
@@ -378,16 +378,16 @@ struct batadv_orig_node *batadv_orig_node_new(struct batadv_priv *bat_priv,
static bool
batadv_purge_orig_neighbors(struct batadv_priv *bat_priv,
			    struct batadv_orig_node *orig_node,
			    struct batadv_neigh_node **best_neigh_node)
			    struct batadv_neigh_node **best_neigh)
{
	struct batadv_algo_ops *bao = bat_priv->bat_algo_ops;
	struct hlist_node *node_tmp;
	struct batadv_neigh_node *neigh_node;
	bool neigh_purged = false;
	unsigned long last_seen;
	struct batadv_hard_iface *if_incoming;
	uint8_t best_metric = 0;

	*best_neigh_node = NULL;
	*best_neigh = NULL;

	spin_lock_bh(&orig_node->neigh_list_lock);

@@ -420,11 +420,12 @@ batadv_purge_orig_neighbors(struct batadv_priv *bat_priv,
			batadv_bonding_candidate_del(orig_node, neigh_node);
			batadv_neigh_node_free_ref(neigh_node);
		} else {
			if ((!*best_neigh_node) ||
			    (neigh_node->bat_iv.tq_avg > best_metric)) {
				*best_neigh_node = neigh_node;
				best_metric = neigh_node->bat_iv.tq_avg;
			}
			/* store the best_neighbour if this is the first
			 * iteration or if a better neighbor has been found
			 */
			if (!*best_neigh ||
			    bao->bat_neigh_cmp(neigh_node, *best_neigh) > 0)
				*best_neigh = neigh_node;
		}
	}