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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> writes:

> 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?
>

If an interrupt is a wakeup source, and it is disabled at the chip
level, it will no longer generate interrupts, and thus no longer wake
up the system.

I'd be interested in hearing why wakeup interrupts should be disabled
during suspend.

>> 
>> 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?

The bug is that on TI OMAP, interrupts that are used for wakeup events
are disabled by this code causing the system to no longer wake up.

I'll update the patch description.

Kevin
_______________________________________________
linux-pm mailing list
linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux