[PATCH RFC] PM: sleep: wakeirq: Fix a serious logical error in dev_pm_disarm_wake_irq()
From: Zijun Hu
Date: Sat Sep 28 2024 - 05:27:13 EST
IT is a serious logical error for dev_pm_disarm_wake_irq() not to disable
the wake irq enabled by dev_pm_arm_wake_irq(), fixed by simply correcting
the wrong if condition.
Signed-off-by: Zijun Hu <quic_zijuhu@xxxxxxxxxxx>
---
List relevant commits as following:
johan+linaro@xxxxxxxxxx 2023-07-13
Commit: 8527beb12087 ("PM: sleep: wakeirq: fix wake irq arming")
tony@xxxxxxxxxxx 2018-02-09
Commit: 69728051f5bf ("PM / wakeirq: Fix unbalanced IRQ enable for wakeirq")
The former commit fixes the later.
---
drivers/base/power/wakeirq.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/base/power/wakeirq.c b/drivers/base/power/wakeirq.c
index 5a5a9e978e85..8b15f9a0e8f9 100644
--- a/drivers/base/power/wakeirq.c
+++ b/drivers/base/power/wakeirq.c
@@ -356,7 +356,7 @@ void dev_pm_disarm_wake_irq(struct wake_irq *wirq)
disable_irq_wake(wirq->irq);
if (wirq->status & WAKE_IRQ_DEDICATED_ALLOCATED &&
- !(wirq->status & WAKE_IRQ_DEDICATED_ENABLED))
+ (wirq->status & WAKE_IRQ_DEDICATED_ENABLED))
disable_irq_nosync(wirq->irq);
}
}
---
base-commit: eb46cb321f1f3f3102f4ad3d61dd5c8c06cdbf17
change-id: 20240928-fix_wakeirq-276ff826970e
Best regards,
--
Zijun Hu <quic_zijuhu@xxxxxxxxxxx>