]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - net/x25/x25_timer.c
x25: Fix sleep from timer on socket destroy.
[net-next-2.6.git] / net / x25 / x25_timer.c
index 2af190dc5b014ef8f544772d188c668e367f3a90..5c5db1a36399d1ef26d24df168ceb47b871b1e3d 100644 (file)
@@ -33,9 +33,7 @@ void x25_init_timers(struct sock *sk)
 {
        struct x25_sock *x25 = x25_sk(sk);
 
-       init_timer(&x25->timer);
-       x25->timer.data     = (unsigned long)sk;
-       x25->timer.function = &x25_timer_expiry;
+       setup_timer(&x25->timer, x25_timer_expiry, (unsigned long)sk);
 
        /* initialized by sock_init_data */
        sk->sk_timer.data     = (unsigned long)sk;
@@ -115,7 +113,7 @@ static void x25_heartbeat_expiry(unsigned long param)
                            (sk->sk_state == TCP_LISTEN &&
                             sock_flag(sk, SOCK_DEAD))) {
                                bh_unlock_sock(sk);
-                               x25_destroy_socket(sk);
+                               x25_destroy_socket_from_timer(sk);
                                return;
                        }
                        break;