Re: [PATCH] kernel: irq: Call irq_chip->irq_mask in irq_disable

From: Thomas Gleixner
Date: Fri Jul 19 2013 - 10:32:27 EST


On Tue, 9 Jul 2013, Laxman Dewangan wrote:

> From: sreenivasulu velpula <svelpula@xxxxxxxxxx>
>
> If interrupt driver has implemented the irq_mask/irq_unmask
> callbacks for disable/enable interrupt then call these APIs
> from irq_disable/irq_enable.
>
> Currently, on irq_disable(), it just look for the callback
> irq_disable() implemented by chip interrupt driver not the
> irq_mask().
>
> Add check for the valid callback of irq_mask() and if it is
> there then call it from irq_disable.

No. That changes the semantics of lazy irq disable and breaks
suspend/resume because we rely on NOT masking interrupts to detect a
wakeup.

The irq_disable() merily marks the interrupt disabled and only touches
the hardware when the interrupt controller provides an explicit
irq_disable() callback.

Thanks,

tglx
--
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/