Messages in this thread | | | Subject | Re: [PATCH] genirq: do not disable IRQ_WAKEUP marked irqs on suspend | From | Kevin Hilman <> | Date | Fri, 12 Jun 2009 10:56:12 -0700 |
| |
Thomas Gleixner <tglx@linutronix.de> writes:
> commit 0a0c5168df (PM: Introduce functions for suspending and resuming > device interrupts) iterates through all interrupts and disables them > on the hardware level. Some architectures have functionality > implemented to mark an interrupt source as wakeup source for suspend, > but the new power management code disables them unconditionally which > breaks the resume on interrupt functionality. > > The wakeup interrupts are marked in the status with the IRQ_WAKEUP > bit. Skip the disablement for those interrupts which have the > IRQ_WAKEUP bit set. > > Signed-off-by: Thomas Gleixner <tglx@linutronix.de> > Cc: stable@kernel.org
Hi Thomas,
I posted the same patch last month and lost the argument, original thread here:
http://lkml.org/lkml/2009/5/6/549
Kevin
> diff --git a/kernel/irq/pm.c b/kernel/irq/pm.c > index 638d8be..bce6afd 100644 > --- a/kernel/irq/pm.c > +++ b/kernel/irq/pm.c > @@ -29,7 +29,8 @@ void suspend_device_irqs(void) > unsigned long flags; > > spin_lock_irqsave(&desc->lock, flags); > - __disable_irq(desc, irq, true); > + if (!(desc->status & IRQ_WAKEUP)) > + __disable_irq(desc, irq, true); > spin_unlock_irqrestore(&desc->lock, flags); > } > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/
| |