diff options
author | Nicholas Piggin <npiggin@gmail.com> | 2017-11-17 02:00:51 +1000 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2018-01-18 15:43:43 +1100 |
commit | f1343d044629f11e7d63ef1a07edb1db585302e0 (patch) | |
tree | f0f5a7988f76febc47dd9c026db3c99275cf1ab7 /drivers/cpuidle | |
parent | c16bee4bded5449ec3b3ec73579ba29881f2e978 (diff) | |
download | linux-f1343d044629f11e7d63ef1a07edb1db585302e0.tar.gz linux-f1343d044629f11e7d63ef1a07edb1db585302e0.tar.bz2 linux-f1343d044629f11e7d63ef1a07edb1db585302e0.zip |
cpuidle/powernv: avoid double irq enable coming out of idle
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>
Diffstat (limited to 'drivers/cpuidle')
-rw-r--r-- | drivers/cpuidle/cpuidle-powernv.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/cpuidle/cpuidle-powernv.c b/drivers/cpuidle/cpuidle-powernv.c index e06605b21841..1a8234e706bc 100644 --- a/drivers/cpuidle/cpuidle-powernv.c +++ b/drivers/cpuidle/cpuidle-powernv.c @@ -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; } |