upgrade to linux 2.6.10-1.12_FC2
[linux-2.6.git] / net / core / sock.c
index 91608bc..8989c4c 100644 (file)
@@ -180,7 +180,7 @@ static void sock_disable_timestamp(struct sock *sk)
 {      
        if (sock_flag(sk, SOCK_TIMESTAMP)) { 
                sock_reset_flag(sk, SOCK_TIMESTAMP);
-               atomic_dec(&netstamp_needed);
+               net_disable_timestamp();
        }
 }
 
@@ -1197,8 +1197,8 @@ void sock_init_data(struct socket *sock, struct sock *sk)
        } else
                sk->sk_sleep    =       NULL;
 
-       sk->sk_dst_lock         =       RW_LOCK_UNLOCKED;
-       sk->sk_callback_lock    =       RW_LOCK_UNLOCKED;
+       rwlock_init(&sk->sk_dst_lock);
+       rwlock_init(&sk->sk_callback_lock);
 
        sk->sk_state_change     =       sock_def_wakeup;
        sk->sk_data_ready       =       sock_def_readable;
@@ -1253,9 +1253,6 @@ void fastcall release_sock(struct sock *sk)
 }
 EXPORT_SYMBOL(release_sock);
 
-/* When > 0 there are consumers of rx skb time stamps */
-atomic_t netstamp_needed = ATOMIC_INIT(0); 
-
 int sock_get_timestamp(struct sock *sk, struct timeval __user *userstamp)
 { 
        if (!sock_flag(sk, SOCK_TIMESTAMP))
@@ -1273,7 +1270,7 @@ void sock_enable_timestamp(struct sock *sk)
 {      
        if (!sock_flag(sk, SOCK_TIMESTAMP)) { 
                sock_set_flag(sk, SOCK_TIMESTAMP);
-               atomic_inc(&netstamp_needed);
+               net_enable_timestamp();
        }
 }
 EXPORT_SYMBOL(sock_enable_timestamp);