On Friday, September 19, 2014 04:52:35 AM Amit Pundir wrote:
> From: Todd Poynor <[email protected]>
>
> Currently when a pending wakeup irq stops suspend, it can be difficult
> to determine why suspend was prevented and which IRQ was actually
> responsible. In order to help debug such situation, this patch prints the
> IRQ number and action name of that pending wakeup irq.
>
> Cc: Pavel Machek <[email protected]>
> Cc: Thomas Gleixner <[email protected]>
> Cc: Rafael J. Wysocki <[email protected]>
> Cc: Len Brown <[email protected]>
> Cc: [email protected]
> Cc: Android Kernel Team <[email protected]>
> Acked-by: Pavel Machek <[email protected]>
> Signed-off-by: Todd Poynor <[email protected]>
> [Amit Pundir: Reworded the commit message]
> Signed-off-by: Amit Pundir <[email protected]>
> ---
> Resending this patch assuming that it might have got lost in between merge
> window rush last time and now people might have some time to look at it.
>
> kernel/irq/pm.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/kernel/irq/pm.c b/kernel/irq/pm.c
> index abcd6ca..c2bc8d9 100644
> --- a/kernel/irq/pm.c
> +++ b/kernel/irq/pm.c
> @@ -109,8 +109,13 @@ int check_wakeup_irqs(void)
check_wakeup_irqs() is going away in 3.18, please see linux-next (or the
pm-genirq branch of linux-pm.git) for details.
> * can abort suspend.
> */
> if (irqd_is_wakeup_set(&desc->irq_data)) {
> - if (desc->depth == 1 && desc->istate & IRQS_PENDING)
> + if (desc->depth == 1 && desc->istate & IRQS_PENDING) {
> + pr_info("Wakeup IRQ %d %s pending, suspend
> aborted\n",
> + irq,
> + desc->action && desc->action->name ?
> + desc->action->name : "");
> return -EBUSY;
> + }
> continue;
> }
> /*
>
--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/