[PATCH] genirq: don't allow per cpu interrupts to be suspended

Shilimkar, Santosh santosh.shilimkar at ti.com
Tue Nov 8 09:55:35 EST 2011


On Tue, Nov 8, 2011 at 8:18 PM, Marc Zyngier <marc.zyngier at arm.com> wrote:
> The power management functions related to interrupts do not know
> (yet) about per-cpu interrupts and end up calling the wrong
> low-level methods to enable/disable interrupts.
>
> This leads to all kind of interesting issues (action taken on one
> CPU only, updating a refcount which is not used otherwise...).
>
> The workaround for the time being is simply to flag these interrupts
> with IRQF_NO_SUSPEND. At least on ARM, these interrupts are actually
> dealt with at the architecture level.
>
> Reported-by: Santosh Shilimkar <santosh.shilimkar at ti.com>
> Cc: Thomas Gleixner <tglx at linutronix.de>
> Signed-off-by: Marc Zyngier <marc.zyngier at arm.com>
> ---
Just to add, the suspend is broken on mainline
for ARM machines which are using IRQCHIP_MASK_ON_SUSPEND.
The $subject patch fixes that issue.

Tested-by: Santosh Shilimkar <santosh.shilimkar at ti.com>

Regards,
Santosh



More information about the linux-arm-kernel mailing list