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

Signed-off-by: Antonio Quartulli <antonio@open-mesh.com>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
This commit is contained in:
Antonio Quartulli 2013-09-02 12:15:07 +02:00 committed by Antonio Quartulli
parent 6680a1249f
commit 81e26b1a1c

View File

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