diff mbox series

PM: wakeup: Add extra debugging statement for multiple active IRQs

Message ID 20220825013630.16311-1-mario.limonciello@amd.com
State Accepted
Commit cb3e7d624c3ff34a300587929c82af7364cf5c09
Headers show
Series PM: wakeup: Add extra debugging statement for multiple active IRQs | expand

Commit Message

Mario Limonciello Aug. 25, 2022, 1:36 a.m. UTC
Since commit cb1f65c1e1424 ("PM: s2idle: ACPI: Fix wakeup interrupts
handling") was introduced the kernel can now handle multiple
simultaneous interrupts during wakeup.  Ths uncovered some existing
subtle firmware bugs where multiple IRQs are unintentionally active.

To help with fixing those bugs add an extra message when PM debugging
is enabled that can show the individual IRQs triggered as if a variety
are fired they'll potentially be lost as /sys/power/pm_wakeup_irq only
contains the first one that triggered the wakeup after resume is
complete but all may be needed to demonstrate the whole picture.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=215770
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
---
 drivers/base/power/wakeup.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Rafael J. Wysocki Sept. 3, 2022, 6:05 p.m. UTC | #1
On Thu, Aug 25, 2022 at 3:36 AM Mario Limonciello
<mario.limonciello@amd.com> wrote:
>
> Since commit cb1f65c1e1424 ("PM: s2idle: ACPI: Fix wakeup interrupts
> handling") was introduced the kernel can now handle multiple
> simultaneous interrupts during wakeup.  Ths uncovered some existing
> subtle firmware bugs where multiple IRQs are unintentionally active.
>
> To help with fixing those bugs add an extra message when PM debugging
> is enabled that can show the individual IRQs triggered as if a variety
> are fired they'll potentially be lost as /sys/power/pm_wakeup_irq only
> contains the first one that triggered the wakeup after resume is
> complete but all may be needed to demonstrate the whole picture.
>
> Link: https://bugzilla.kernel.org/show_bug.cgi?id=215770
> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
> ---
>  drivers/base/power/wakeup.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/base/power/wakeup.c b/drivers/base/power/wakeup.c
> index e3befa2c1b661..dcd06eac30afd 100644
> --- a/drivers/base/power/wakeup.c
> +++ b/drivers/base/power/wakeup.c
> @@ -943,6 +943,7 @@ void pm_system_irq_wakeup(unsigned int irq_number)
>                 wakeup_irq[1] = irq_number;
>         else
>                 irq_number = 0;
> +       pm_pr_dbg("Triggering wakeup from IRQ %d\n", irq_number);
>
>         raw_spin_unlock_irqrestore(&wakeup_irq_lock, flags);
>
> --

Applied as 6.1 material, thanks!
diff mbox series

Patch

diff --git a/drivers/base/power/wakeup.c b/drivers/base/power/wakeup.c
index e3befa2c1b661..dcd06eac30afd 100644
--- a/drivers/base/power/wakeup.c
+++ b/drivers/base/power/wakeup.c
@@ -943,6 +943,7 @@  void pm_system_irq_wakeup(unsigned int irq_number)
 		wakeup_irq[1] = irq_number;
 	else
 		irq_number = 0;
+	pm_pr_dbg("Triggering wakeup from IRQ %d\n", irq_number);
 
 	raw_spin_unlock_irqrestore(&wakeup_irq_lock, flags);