Message ID | 87d3sgs1nw.fsf@deeprootsystems.com (mailing list archive) |
---|---|
State | Not Applicable |
Delegated to: | Kevin Hilman |
Headers | show |
diff --git a/arch/arm/mach-omap2/cpuidle34xx.c b/arch/arm/mach-omap2/cpuidle34xx.c index 681d823..c5cb9d0 100644 --- a/arch/arm/mach-omap2/cpuidle34xx.c +++ b/arch/arm/mach-omap2/cpuidle34xx.c @@ -245,6 +245,14 @@ static int omap3_enter_idle_bm(struct cpuidle_device *dev, goto select_state; } + /* + * Enable IRQs during the device activity checking and idle management. + * IRQs are later (re)disabled when entering the actual idle function. + * Device idle management that is using runtime PM needs to have + * interrupts enabled when calling into the runtime PM core. + */ + local_irq_enable(); + cx = cpuidle_get_statedata(state); core_next_state = cx->core_state;