mirror of
https://github.com/torvalds/linux.git
synced 2024-10-24 22:20:55 +00:00
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 <mareklindner@neomailbox.ch> Signed-off-by: Antonio Quartulli <antonio@meshcoding.com>
This commit is contained in:
parent
7bca68c784
commit
ed29266347
|
@ -442,6 +442,42 @@ out:
|
||||||
return neigh_ifinfo;
|
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
|
* batadv_neigh_node_new - create and init a new neigh_node object
|
||||||
* @orig_node: originator object representing the neighbour
|
* @orig_node: originator object representing the neighbour
|
||||||
|
@ -495,42 +531,6 @@ out:
|
||||||
return neigh_node;
|
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
|
* batadv_orig_ifinfo_free_rcu - free the orig_ifinfo object
|
||||||
* @rcu: rcu pointer of the orig_ifinfo object
|
* @rcu: rcu pointer of the orig_ifinfo object
|
||||||
|
|
|
@ -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,
|
struct batadv_orig_node *batadv_orig_node_new(struct batadv_priv *bat_priv,
|
||||||
const u8 *addr);
|
const u8 *addr);
|
||||||
struct batadv_neigh_node *
|
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,
|
batadv_neigh_node_new(struct batadv_orig_node *orig_node,
|
||||||
struct batadv_hard_iface *hard_iface,
|
struct batadv_hard_iface *hard_iface,
|
||||||
const u8 *neigh_addr);
|
const u8 *neigh_addr);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user