rangetimer: fix BUG_ON reported by Ingo
There's a small race/chance that, while hrtimers are enabled globally,
they're later not enabled when we're calling the hrtimer_interrupt() function,
which then BUG_ON()'s for that. This patch closes that race/gap.
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c
index eb2cf98..b17657d 100644
--- a/kernel/hrtimer.c
+++ b/kernel/hrtimer.c
@@ -1395,11 +1395,15 @@
unsigned long flags;
struct tick_device *td;
struct clock_event_device *dev;
-
+ struct hrtimer_cpu_base *cpu_base;
if (hrtimer_hres_active())
return;
local_irq_save(flags);
+ cpu_base = &__get_cpu_var(hrtimer_bases);
+ if (!cpu_base->hres_active)
+ goto out;
+
td = &__get_cpu_var(tick_cpu_device);
if (!td)
goto out;