aboutsummaryrefslogtreecommitdiffstats
path: root/net/batman-adv
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2011-05-02 02:25:02 -0400
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2011-05-08 01:51:13 -0400
commiteb340b2f804860a51a0b92e35fd36742b6c2d6b7 (patch)
tree65869f42c254df2b9b99f1041ec8daa2dc138bb3 /net/batman-adv
parent0744371aeba7a5004006c2309971ee026c0b2000 (diff)
batman,rcu: convert call_rcu(gw_node_free_rcu) to kfree_rcu
The RCU callback gw_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/gateway_client.c10
1 files changed, 1 insertions, 9 deletions
diff --git a/net/batman-adv/gateway_client.c b/net/batman-adv/gateway_client.c
index 3cc43558cf9c..150b6ce23df3 100644
--- a/net/batman-adv/gateway_client.c
+++ b/net/batman-adv/gateway_client.c
@@ -28,18 +28,10 @@
28#include <linux/udp.h> 28#include <linux/udp.h>
29#include <linux/if_vlan.h> 29#include <linux/if_vlan.h>
30 30
31static void gw_node_free_rcu(struct rcu_head *rcu)
32{
33 struct gw_node *gw_node;
34
35 gw_node = container_of(rcu, struct gw_node, rcu);
36 kfree(gw_node);
37}
38
39static void gw_node_free_ref(struct gw_node *gw_node) 31static void gw_node_free_ref(struct gw_node *gw_node)
40{ 32{
41 if (atomic_dec_and_test(&gw_node->refcount)) 33 if (atomic_dec_and_test(&gw_node->refcount))
42 call_rcu(&gw_node->rcu, gw_node_free_rcu); 34 kfree_rcu(gw_node, rcu);
43} 35}
44 36
45void *gw_get_selected(struct bat_priv *bat_priv) 37void *gw_get_selected(struct bat_priv *bat_priv)