
From: Andrew Hendry <ahendry@tusc.com.au>

The sk_timer.data for the x.25 destroy_socket timer went missing at some
stage, causing a timer loop where x25_destroy_socket would keep setting up
timers to call itself.  This patch puts the sk_timer.data back.

Signed-off-by: Andrew Hendry <ahendry@tusc.com.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/net/x25/af_x25.c |    1 +
 1 files changed, 1 insertion(+)

diff -puN net/x25/af_x25.c~x25-stop-x25_destroy_socket-timer-looping net/x25/af_x25.c
--- 25/net/x25/af_x25.c~x25-stop-x25_destroy_socket-timer-looping	2004-10-26 18:44:08.836678784 -0700
+++ 25-akpm/net/x25/af_x25.c	2004-10-26 18:44:08.847677112 -0700
@@ -347,6 +347,7 @@ void x25_destroy_socket(struct sock *sk)
 		/* Defer: outstanding buffers */
 		sk->sk_timer.expires  = jiffies + 10 * HZ;
 		sk->sk_timer.function = x25_destroy_timer;
+		sk->sk_timer.data = (unsigned long)sk;
 		add_timer(&sk->sk_timer);
 	} else {
 		/* drop last reference so sock_put will free */
_
