Messages in this thread | | | Date | Fri, 19 Jul 2013 16:32:25 +0200 (CEST) | From | Thomas Gleixner <> | Subject | Re: [PATCH] kernel: irq: Call irq_chip->irq_mask in irq_disable |
| |
On Tue, 9 Jul 2013, Laxman Dewangan wrote:
> From: sreenivasulu velpula <svelpula@nvidia.com> > > 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
| |