X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=net%2Fnetrom%2Fnr_timer.c;h=1cb98e88f5e1cef557699464d6d9519ac14c9a85;hb=f8e79ddd31c3615ddca26b9a469c44a7adbd4e13;hp=75b72d389ba95283b4c0f1e9adfc69eb8d3ed2a5;hpb=d7f6884ae0ae6e406ec3500fcde16e8f51642460;p=linux-2.6 diff --git a/net/netrom/nr_timer.c b/net/netrom/nr_timer.c index 75b72d389b..1cb98e88f5 100644 --- a/net/netrom/nr_timer.c +++ b/net/netrom/nr_timer.c @@ -40,21 +40,10 @@ void nr_init_timers(struct sock *sk) { struct nr_sock *nr = nr_sk(sk); - init_timer(&nr->t1timer); - nr->t1timer.data = (unsigned long)sk; - nr->t1timer.function = &nr_t1timer_expiry; - - init_timer(&nr->t2timer); - nr->t2timer.data = (unsigned long)sk; - nr->t2timer.function = &nr_t2timer_expiry; - - init_timer(&nr->t4timer); - nr->t4timer.data = (unsigned long)sk; - nr->t4timer.function = &nr_t4timer_expiry; - - init_timer(&nr->idletimer); - nr->idletimer.data = (unsigned long)sk; - nr->idletimer.function = &nr_idletimer_expiry; + setup_timer(&nr->t1timer, nr_t1timer_expiry, (unsigned long)sk); + setup_timer(&nr->t2timer, nr_t2timer_expiry, (unsigned long)sk); + setup_timer(&nr->t4timer, nr_t4timer_expiry, (unsigned long)sk); + setup_timer(&nr->idletimer, nr_idletimer_expiry, (unsigned long)sk); /* initialized by sock_init_data */ sk->sk_timer.data = (unsigned long)sk; @@ -138,8 +127,8 @@ static void nr_heartbeat_expiry(unsigned long param) if (sock_flag(sk, SOCK_DESTROY) || (sk->sk_state == TCP_LISTEN && sock_flag(sk, SOCK_DEAD))) { sock_hold(sk); - nr_destroy_socket(sk); bh_unlock_sock(sk); + nr_destroy_socket(sk); sock_put(sk); return; }