diff options
Diffstat (limited to 'net/decnet/dn_timer.c')
| -rw-r--r-- | net/decnet/dn_timer.c | 19 | 
1 files changed, 6 insertions, 13 deletions
diff --git a/net/decnet/dn_timer.c b/net/decnet/dn_timer.c index 09825711d58..d9c150cc59a 100644 --- a/net/decnet/dn_timer.c +++ b/net/decnet/dn_timer.c @@ -22,7 +22,7 @@  #include <linux/timer.h>  #include <linux/spinlock.h>  #include <net/sock.h> -#include <asm/atomic.h> +#include <linux/atomic.h>  #include <net/flow.h>  #include <net/dn.h> @@ -36,16 +36,13 @@ static void dn_slow_timer(unsigned long arg);  void dn_start_slow_timer(struct sock *sk)  { -	sk->sk_timer.expires	= jiffies + SLOW_INTERVAL; -	sk->sk_timer.function	= dn_slow_timer; -	sk->sk_timer.data	= (unsigned long)sk; - -	add_timer(&sk->sk_timer); +	setup_timer(&sk->sk_timer, dn_slow_timer, (unsigned long)sk); +	sk_reset_timer(sk, &sk->sk_timer, jiffies + SLOW_INTERVAL);  }  void dn_stop_slow_timer(struct sock *sk)  { -	del_timer(&sk->sk_timer); +	sk_stop_timer(sk, &sk->sk_timer);  }  static void dn_slow_timer(unsigned long arg) @@ -53,12 +50,10 @@ static void dn_slow_timer(unsigned long arg)  	struct sock *sk = (struct sock *)arg;  	struct dn_scp *scp = DN_SK(sk); -	sock_hold(sk);  	bh_lock_sock(sk);  	if (sock_owned_by_user(sk)) { -		sk->sk_timer.expires = jiffies + HZ / 10; -		add_timer(&sk->sk_timer); +		sk_reset_timer(sk, &sk->sk_timer, jiffies + HZ / 10);  		goto out;  	} @@ -100,9 +95,7 @@ static void dn_slow_timer(unsigned long arg)  			scp->keepalive_fxn(sk);  	} -	sk->sk_timer.expires = jiffies + SLOW_INTERVAL; - -	add_timer(&sk->sk_timer); +	sk_reset_timer(sk, &sk->sk_timer, jiffies + SLOW_INTERVAL);  out:  	bh_unlock_sock(sk);  	sock_put(sk);  | 
