From ed29266347025a19ee689807b07d121f0a7441f1 Mon Sep 17 00:00:00 2001 From: Marek Lindner Date: Tue, 4 Aug 2015 23:31:44 +0800 Subject: batman-adv: turn batadv_neigh_node_get() into local function commit c214ebe1eb29 ("batman-adv: move neigh_node list add into batadv_neigh_node_new()") removed external calls to batadv_neigh_node_get(). Signed-off-by: Marek Lindner Signed-off-by: Antonio Quartulli --- net/batman-adv/originator.c | 72 ++++++++++++++++++++++----------------------- net/batman-adv/originator.h | 4 --- 2 files changed, 36 insertions(+), 40 deletions(-) (limited to 'net/batman-adv') diff --git a/net/batman-adv/originator.c b/net/batman-adv/originator.c index 099a84afcd61..7486df9ed48d 100644 --- a/net/batman-adv/originator.c +++ b/net/batman-adv/originator.c @@ -442,6 +442,42 @@ out: return neigh_ifinfo; } +/** + * batadv_neigh_node_get - retrieve a neighbour from the list + * @orig_node: originator which the neighbour belongs to + * @hard_iface: the interface where this neighbour is connected to + * @addr: the address of the neighbour + * + * Looks for and possibly returns a neighbour belonging to this originator list + * which is connected through the provided hard interface. + * Returns NULL if the neighbour is not found. + */ +static struct batadv_neigh_node * +batadv_neigh_node_get(const struct batadv_orig_node *orig_node, + const struct batadv_hard_iface *hard_iface, + const u8 *addr) +{ + struct batadv_neigh_node *tmp_neigh_node, *res = NULL; + + rcu_read_lock(); + hlist_for_each_entry_rcu(tmp_neigh_node, &orig_node->neigh_list, list) { + if (!batadv_compare_eth(tmp_neigh_node->addr, addr)) + continue; + + if (tmp_neigh_node->if_incoming != hard_iface) + continue; + + if (!atomic_inc_not_zero(&tmp_neigh_node->refcount)) + continue; + + res = tmp_neigh_node; + break; + } + rcu_read_unlock(); + + return res; +} + /** * batadv_neigh_node_new - create and init a new neigh_node object * @orig_node: originator object representing the neighbour @@ -495,42 +531,6 @@ out: return neigh_node; } -/** - * batadv_neigh_node_get - retrieve a neighbour from the list - * @orig_node: originator which the neighbour belongs to - * @hard_iface: the interface where this neighbour is connected to - * @addr: the address of the neighbour - * - * Looks for and possibly returns a neighbour belonging to this originator list - * which is connected through the provided hard interface. - * Returns NULL if the neighbour is not found. - */ -struct batadv_neigh_node * -batadv_neigh_node_get(const struct batadv_orig_node *orig_node, - const struct batadv_hard_iface *hard_iface, - const u8 *addr) -{ - struct batadv_neigh_node *tmp_neigh_node, *res = NULL; - - rcu_read_lock(); - hlist_for_each_entry_rcu(tmp_neigh_node, &orig_node->neigh_list, list) { - if (!batadv_compare_eth(tmp_neigh_node->addr, addr)) - continue; - - if (tmp_neigh_node->if_incoming != hard_iface) - continue; - - if (!atomic_inc_not_zero(&tmp_neigh_node->refcount)) - continue; - - res = tmp_neigh_node; - break; - } - rcu_read_unlock(); - - return res; -} - /** * batadv_orig_ifinfo_free_rcu - free the orig_ifinfo object * @rcu: rcu pointer of the orig_ifinfo object diff --git a/net/batman-adv/originator.h b/net/batman-adv/originator.h index fde34385c62c..fa18f9bf266b 100644 --- a/net/batman-adv/originator.h +++ b/net/batman-adv/originator.h @@ -42,10 +42,6 @@ void batadv_orig_node_free_ref_now(struct batadv_orig_node *orig_node); struct batadv_orig_node *batadv_orig_node_new(struct batadv_priv *bat_priv, const u8 *addr); struct batadv_neigh_node * -batadv_neigh_node_get(const struct batadv_orig_node *orig_node, - const struct batadv_hard_iface *hard_iface, - const u8 *addr); -struct batadv_neigh_node * batadv_neigh_node_new(struct batadv_orig_node *orig_node, struct batadv_hard_iface *hard_iface, const u8 *neigh_addr); -- cgit v1.2.3-59-g8ed1b