X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=net%2Fipv6%2Fsit.c;h=b517fa50f01b1482c837b65a5ca829a3b7e8980e;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=3ddbd6ce3f644a548abe0bbab7d61e35d60de6cd;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/net/ipv6/sit.c b/net/ipv6/sit.c index 3ddbd6ce3..b517fa50f 100644 --- a/net/ipv6/sit.c +++ b/net/ipv6/sit.c @@ -73,7 +73,7 @@ static struct ip_tunnel *tunnels_l[HASH_SIZE]; static struct ip_tunnel *tunnels_wc[1]; static struct ip_tunnel **tunnels[4] = { tunnels_wc, tunnels_l, tunnels_r, tunnels_r_l }; -static rwlock_t ipip6_lock = RW_LOCK_UNLOCKED; +static DEFINE_RWLOCK(ipip6_lock); static struct ip_tunnel * ipip6_tunnel_lookup(u32 remote, u32 local) { @@ -135,10 +135,10 @@ static void ipip6_tunnel_link(struct ip_tunnel *t) { struct ip_tunnel **tp = ipip6_bucket(t); - write_lock_bh(&ipip6_lock); t->next = *tp; - write_unlock_bh(&ipip6_lock); + write_lock_bh(&ipip6_lock); *tp = t; + write_unlock_bh(&ipip6_lock); } static struct ip_tunnel * ipip6_tunnel_locate(struct ip_tunnel_parm *parms, int create)