summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorAnton Blanchard <anton@samba.org>2002-10-04 03:46:19 -0700
committerLinus Torvalds <torvalds@penguin.transmeta.com>2002-10-04 03:46:19 -0700
commit2f210ce0c52679364409d8696a74356af5d880db (patch)
treec477b301cc373800ae5a50c79b26734d1c0bf486 /kernel
parent8737bd6628e876847f0302397df05da10b912be5 (diff)
[PATCH] 64-bit timer fix
I think I have found it and it only hits on a 64 bit machine. If the timeout is big enough we still need to initialise timer->entry. Otherwise bad things happen we we hit del_timer.
Diffstat (limited to 'kernel')
-rw-r--r--kernel/timer.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/timer.c b/kernel/timer.c
index 96113a11d875..bdd8df9e1691 100644
--- a/kernel/timer.c
+++ b/kernel/timer.c
@@ -94,9 +94,11 @@ static inline void internal_add_timer(tvec_base_t *base, timer_t *timer)
} else if (idx <= 0xffffffffUL) {
int i = (expires >> (TVR_BITS + 3 * TVN_BITS)) & TVN_MASK;
vec = base->tv5.vec + i;
- } else
+ } else {
/* Can only get here on architectures with 64-bit jiffies */
+ INIT_LIST_HEAD(&timer->entry);
return;
+ }
/*
* Timers are FIFO:
*/