diff -urN linux-2.4.3/kernel/timer.c linux/kernel/timer.c --- linux-2.4.3/kernel/timer.c Thu Dec 14 20:52:22 2000 +++ linux/kernel/timer.c Fri Apr 13 13:26:08 2001 @@ -194,6 +194,7 @@ if (!timer_pending(timer)) return 0; list_del(&timer->list); + timer->list.next = timer->list.prev = NULL; return 1; } @@ -217,7 +218,6 @@ spin_lock_irqsave(&timerlist_lock, flags); ret = detach_timer(timer); - timer->list.next = timer->list.prev = NULL; spin_unlock_irqrestore(&timerlist_lock, flags); return ret; } @@ -246,7 +246,6 @@ spin_lock_irqsave(&timerlist_lock, flags); ret += detach_timer(timer); - timer->list.next = timer->list.prev = 0; running = timer_is_running(timer); spin_unlock_irqrestore(&timerlist_lock, flags); @@ -309,7 +308,6 @@ data= timer->data; detach_timer(timer); - timer->list.next = timer->list.prev = NULL; timer_enter(timer); spin_unlock_irq(&timerlist_lock); fn(data);