diff options
author | Jonathan Herman <hermanjl@cs.unc.edu> | 2011-10-13 16:16:23 -0400 |
---|---|---|
committer | Jonathan Herman <hermanjl@cs.unc.edu> | 2011-10-13 16:16:23 -0400 |
commit | 528b42be373ca461bd8538a58385a1515c98489c (patch) | |
tree | c430ca0339ab5d2b1593f68c07477b65e93d6f38 | |
parent | 657e11dcb9ec8e8ed7ffcbd490d845072bcb4be4 (diff) |
Fixed very obscure race condition
-rw-r--r-- | kernel/hrtimer.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c index c215ddbf49d0..d6a15ddf6caf 100644 --- a/kernel/hrtimer.c +++ b/kernel/hrtimer.c | |||
@@ -1073,6 +1073,7 @@ void hrtimer_pull(void) | |||
1073 | info = list_entry(pos, struct hrtimer_start_on_info, list); | 1073 | info = list_entry(pos, struct hrtimer_start_on_info, list); |
1074 | TRACE("pulled timer 0x%x\n", info->timer); | 1074 | TRACE("pulled timer 0x%x\n", info->timer); |
1075 | list_del_init(pos); | 1075 | list_del_init(pos); |
1076 | if (!info->timer) continue; | ||
1076 | if (atomic_read(&info->state) != HRTIMER_START_ON_INACTIVE) | 1077 | if (atomic_read(&info->state) != HRTIMER_START_ON_INACTIVE) |
1077 | hrtimer_start(info->timer, info->time, info->mode); | 1078 | hrtimer_start(info->timer, info->time, info->mode); |
1078 | if (atomic_read(&info->state) == HRTIMER_START_ON_INACTIVE) | 1079 | if (atomic_read(&info->state) == HRTIMER_START_ON_INACTIVE) |