Merge branch 'sched-idle-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[firefly-linux-kernel-4.4.55.git] / drivers / cpuidle / cpuidle.c
index 166a7322a2b63f5967af797e2a8f351c30bade88..8236746e46bb9d5afa313aff7d17f72fd1ec2326 100644 (file)
@@ -105,7 +105,8 @@ int cpuidle_enter_state(struct cpuidle_device *dev, struct cpuidle_driver *drv,
 
        time_end = ktime_get();
 
-       local_irq_enable();
+       if (!cpuidle_state_is_coupled(dev, drv, entered_state))
+               local_irq_enable();
 
        diff = ktime_to_us(ktime_sub(time_end, time_start));
        if (diff > INT_MAX)