diff options
author | Sasha Levin <sashal@kernel.org> | 2023-04-05 07:31:15 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2023-04-06 12:10:58 +0200 |
commit | 9c5aa3c8619fe9c1668bcb8eccc63ff9302666e4 (patch) | |
tree | 3e0496f6cbcbd3fb69b49cf50c4d879fac060da8 | |
parent | cafb47f5f59bf372f93ebfaab129a0e712137345 (diff) | |
download | linux-stable-9c5aa3c8619fe9c1668bcb8eccc63ff9302666e4.tar.gz |
Revert "cpuidle, intel_idle: Fix CPUIDLE_FLAG_IRQ_ENABLE *again*"
This reverts commit 07fc78d8f0c960f7ca241de98bc8c6bfe7d200f3 which was
upstream commit 6d9c7f51b1d9179bf7c3542267c656a934e8af23.
Lockdep warnings on boot that are not seen with Linus's tree.
Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r-- | drivers/idle/intel_idle.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/idle/intel_idle.c b/drivers/idle/intel_idle.c index f060ac7376e6..cfeb24d40d37 100644 --- a/drivers/idle/intel_idle.c +++ b/drivers/idle/intel_idle.c @@ -168,7 +168,13 @@ static __cpuidle int intel_idle_irq(struct cpuidle_device *dev, raw_local_irq_enable(); ret = __intel_idle(dev, drv, index); - raw_local_irq_disable(); + + /* + * The lockdep hardirqs state may be changed to 'on' with timer + * tick interrupt followed by __do_softirq(). Use local_irq_disable() + * to keep the hardirqs state correct. + */ + local_irq_disable(); return ret; } |