cpuidle/powernv: avoid double irq enable coming out of idle
authorNicholas Piggin <npiggin@gmail.com>
Thu, 16 Nov 2017 16:00:51 +0000 (02:00 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 18 Jan 2018 04:43:43 +0000 (15:43 +1100)
Since e1689795a7 ("cpuidle: Add common time keeping and irq enabling"),
cpuidle drivers are expected to return from ->enter with irqs disabled.

Update the cpuidle-powernv snooze loop to disable irqs before returning.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
drivers/cpuidle/cpuidle-powernv.c

index e06605b21841acae0d1d4b5d5d6ea963a7d732b8..1a8234e706bc7525683f34fa4e9294118987503d 100644 (file)
@@ -76,6 +76,8 @@ static int snooze_loop(struct cpuidle_device *dev,
        ppc64_runlatch_on();
        clear_thread_flag(TIF_POLLING_NRFLAG);
 
+       local_irq_disable();
+
        return index;
 }