summaryrefslogtreecommitdiffstats
path: root/net/batman-adv/gateway_client.c
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2011-05-01 23:25:02 -0700
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2011-05-07 22:51:13 -0700
commiteb340b2f804860a51a0b92e35fd36742b6c2d6b7 (patch)
tree65869f42c254df2b9b99f1041ec8daa2dc138bb3 /net/batman-adv/gateway_client.c
parent0744371aeba7a5004006c2309971ee026c0b2000 (diff)
downloadlinux-stable-eb340b2f804860a51a0b92e35fd36742b6c2d6b7.tar.gz
linux-stable-eb340b2f804860a51a0b92e35fd36742b6c2d6b7.tar.bz2
linux-stable-eb340b2f804860a51a0b92e35fd36742b6c2d6b7.zip
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/gateway_client.c')
-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 @@
#include <linux/udp.h>
#include <linux/if_vlan.h>
-static void gw_node_free_rcu(struct rcu_head *rcu)
-{
- struct gw_node *gw_node;
-
- gw_node = container_of(rcu, struct gw_node, rcu);
- kfree(gw_node);
-}
-
static void gw_node_free_ref(struct gw_node *gw_node)
{
if (atomic_dec_and_test(&gw_node->refcount))
- call_rcu(&gw_node->rcu, gw_node_free_rcu);
+ kfree_rcu(gw_node, rcu);
}
void *gw_get_selected(struct bat_priv *bat_priv)