aboutsummaryrefslogtreecommitdiffstats
path: root/net/batman-adv
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2011-05-01 23:27:50 -0700
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2011-05-07 22:51:14 -0700
commitae179ae433bb4ef6b6179c5c1c7b6cc7dc01c670 (patch)
tree158c66a1003073865ec1e4e1a2659a3f23f79cbf /net/batman-adv
parenteb340b2f804860a51a0b92e35fd36742b6c2d6b7 (diff)
downloadkernel_samsung_smdk4412-ae179ae433bb4ef6b6179c5c1c7b6cc7dc01c670.zip
kernel_samsung_smdk4412-ae179ae433bb4ef6b6179c5c1c7b6cc7dc01c670.tar.gz
kernel_samsung_smdk4412-ae179ae433bb4ef6b6179c5c1c7b6cc7dc01c670.tar.bz2
batman,rcu: convert call_rcu(neigh_node_free_rcu) to kfree()
The RCU callback neigh_node_free_rcu() just calls kfree(), so we can use kfree_rcu() instead of call_rcu(). Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: Marek Lindner <lindner_marek@yahoo.de> Cc: Simon Wunderlich <siwu@hrz.tu-chemnitz.de> Acked-by: David S. Miller <davem@davemloft.net> Reviewed-by: Josh Triplett <josh@joshtriplett.org> Acked-by: Sven Eckelmann <sven@narfation.org>
Diffstat (limited to 'net/batman-adv')
-rw-r--r--net/batman-adv/originator.c10
1 files changed, 1 insertions, 9 deletions
diff --git a/net/batman-adv/originator.c b/net/batman-adv/originator.c
index 0b91330..ed23a589 100644
--- a/net/batman-adv/originator.c
+++ b/net/batman-adv/originator.c
@@ -56,18 +56,10 @@ err:
return 0;
}
-static void neigh_node_free_rcu(struct rcu_head *rcu)
-{
- struct neigh_node *neigh_node;
-
- neigh_node = container_of(rcu, struct neigh_node, rcu);
- kfree(neigh_node);
-}
-
void neigh_node_free_ref(struct neigh_node *neigh_node)
{
if (atomic_dec_and_test(&neigh_node->refcount))
- call_rcu(&neigh_node->rcu, neigh_node_free_rcu);
+ kfree_rcu(neigh_node, rcu);
}
struct neigh_node *create_neighbor(struct orig_node *orig_node,