diff options
-rw-r--r-- | kernel/hrtimer.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c index 6a7938a0d513..067ba2c05328 100644 --- a/kernel/hrtimer.c +++ b/kernel/hrtimer.c | |||
@@ -814,7 +814,12 @@ hrtimer_start(struct hrtimer *timer, ktime_t tim, const enum hrtimer_mode mode) | |||
814 | 814 | ||
815 | timer_stats_hrtimer_set_start_info(timer); | 815 | timer_stats_hrtimer_set_start_info(timer); |
816 | 816 | ||
817 | enqueue_hrtimer(timer, new_base, base == new_base); | 817 | /* |
818 | * Only allow reprogramming if the new base is on this CPU. | ||
819 | * (it might still be on another CPU if the timer was pending) | ||
820 | */ | ||
821 | enqueue_hrtimer(timer, new_base, | ||
822 | new_base->cpu_base == &__get_cpu_var(hrtimer_bases)); | ||
818 | 823 | ||
819 | unlock_hrtimer_base(timer, &flags); | 824 | unlock_hrtimer_base(timer, &flags); |
820 | 825 | ||