summaryrefslogtreecommitdiff
path: root/drivers/idle
diff options
context:
space:
mode:
authorSasha Levin <sashal@kernel.org>2023-04-05 14:31:15 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-04-06 13:10:58 +0300
commit9c5aa3c8619fe9c1668bcb8eccc63ff9302666e4 (patch)
tree3e0496f6cbcbd3fb69b49cf50c4d879fac060da8 /drivers/idle
parentcafb47f5f59bf372f93ebfaab129a0e712137345 (diff)
downloadlinux-9c5aa3c8619fe9c1668bcb8eccc63ff9302666e4.tar.xz
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>
Diffstat (limited to 'drivers/idle')
-rw-r--r--drivers/idle/intel_idle.c8
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;
}