]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - net/ipv4/xfrm4_tunnel.c
[PATCH] autofs4: use libfs routines for readdir
[linux-2.6-omap-h63xx.git] / net / ipv4 / xfrm4_tunnel.c
index e1fe360ed27ad1645a861c07ddabd2293694f694..b08d56b117f837e226cbf7085fb3badfd515064d 100644 (file)
@@ -5,6 +5,7 @@
 
 #include <linux/skbuff.h>
 #include <linux/module.h>
+#include <linux/mutex.h>
 #include <net/xfrm.h>
 #include <net/ip.h>
 #include <net/protocol.h>
@@ -26,19 +27,19 @@ static int ipip_xfrm_rcv(struct xfrm_state *x, struct xfrm_decap_state *decap, s
 }
 
 static struct xfrm_tunnel *ipip_handler;
-static DECLARE_MUTEX(xfrm4_tunnel_sem);
+static DEFINE_MUTEX(xfrm4_tunnel_mutex);
 
 int xfrm4_tunnel_register(struct xfrm_tunnel *handler)
 {
        int ret;
 
-       down(&xfrm4_tunnel_sem);
+       mutex_lock(&xfrm4_tunnel_mutex);
        ret = 0;
        if (ipip_handler != NULL)
                ret = -EINVAL;
        if (!ret)
                ipip_handler = handler;
-       up(&xfrm4_tunnel_sem);
+       mutex_unlock(&xfrm4_tunnel_mutex);
 
        return ret;
 }
@@ -49,13 +50,13 @@ int xfrm4_tunnel_deregister(struct xfrm_tunnel *handler)
 {
        int ret;
 
-       down(&xfrm4_tunnel_sem);
+       mutex_lock(&xfrm4_tunnel_mutex);
        ret = 0;
        if (ipip_handler != handler)
                ret = -EINVAL;
        if (!ret)
                ipip_handler = NULL;
-       up(&xfrm4_tunnel_sem);
+       mutex_unlock(&xfrm4_tunnel_mutex);
 
        synchronize_net();
 
@@ -78,10 +79,9 @@ static int ipip_rcv(struct sk_buff *skb)
 static void ipip_err(struct sk_buff *skb, u32 info)
 {
        struct xfrm_tunnel *handler = ipip_handler;
-       u32 arg = info;
 
        if (handler)
-               handler->err_handler(skb, &arg);
+               handler->err_handler(skb, info);
 }
 
 static int ipip_init_state(struct xfrm_state *x)