aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Herman <hermanjl@cs.unc.edu>2011-10-13 16:16:23 -0400
committerJonathan Herman <hermanjl@cs.unc.edu>2011-10-13 16:16:23 -0400
commit528b42be373ca461bd8538a58385a1515c98489c (patch)
treec430ca0339ab5d2b1593f68c07477b65e93d6f38
parent657e11dcb9ec8e8ed7ffcbd490d845072bcb4be4 (diff)
Fixed very obscure race condition
-rw-r--r--kernel/hrtimer.c1
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)