]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/cpuidle/driver.c
Merge tag 'efi-urgent' into x86/urgent
[karo-tx-linux.git] / drivers / cpuidle / driver.c
index 136d6a283e0a3818846eab4e78e7e9245b7d6f07..9634f20e392611b32349aaa348aa3980f2344ecd 100644 (file)
@@ -187,8 +187,11 @@ static int poll_idle(struct cpuidle_device *dev,
 
        t1 = ktime_get();
        local_irq_enable();
-       while (!need_resched())
-               cpu_relax();
+       if (!current_set_polling_and_test()) {
+               while (!need_resched())
+                       cpu_relax();
+       }
+       current_clr_polling();
 
        t2 = ktime_get();
        diff = ktime_to_us(ktime_sub(t2, t1));