Re: [PATCH] PM: suspend_device_irqs(): don't disable wakeup IRQs

From: Andrew Morton
Date: Tue May 05 2009 - 02:56:02 EST


On Mon, 4 May 2009 17:27:04 -0700 Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> wrote:

> Interrupts that are flagged as wakeup sources via set_irq_wake()
> should not be disabled for suspend.
>

Why not?

>
> diff --git a/kernel/irq/pm.c b/kernel/irq/pm.c
> index 638d8be..99113bd 100644
> --- a/kernel/irq/pm.c
> +++ b/kernel/irq/pm.c
> @@ -28,6 +28,9 @@ void suspend_device_irqs(void)
> for_each_irq_desc(irq, desc) {
> unsigned long flags;
>
> + if (desc->status & IRQ_WAKEUP)
> + continue;
> +
> spin_lock_irqsave(&desc->lock, flags);
> __disable_irq(desc, irq, true);
> spin_unlock_irqrestore(&desc->lock, flags);

If this fixes some bug then please provide a description of that bug?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/