[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <580F17E7.5060603@laposte.net>
Date: Tue, 25 Oct 2016 10:29:27 +0200
From: Sebastian Frias <sf84@...oste.net>
To: Thomas Gleixner <tglx@...utronix.de>, Mason <slash.tmp@...e.fr>
Cc: Marc Zyngier <marc.zyngier@....com>,
Jason Cooper <jason@...edaemon.net>,
LKML <linux-kernel@...r.kernel.org>,
Linux ARM <linux-arm-kernel@...ts.infradead.org>
Subject: Re: Disabling an interrupt in the handler locks the system up
Hi Thomas,
On 10/24/2016 06:55 PM, Thomas Gleixner wrote:
> On Mon, 24 Oct 2016, Mason wrote:
>>
>> For the record, setting the IRQ_DISABLE_UNLAZY flag for this device
>> makes the system lock-up disappear.
>
> The way how lazy irq disabling works is:
>
> 1) Interrupt is marked disabled in software, but the hardware is not masked
>
> 2) If the interrupt fires befor the interrupt is reenabled, then it's
> masked at the hardware level in the low level interrupt flow handler.
>
Would you mind explaining what is the intention behind?
Because it does not seem obvious why there isn't a direct map between
"disable_irq*()" and "mask_irq()"
Thanks in advance.
Best regards,
Sebastian
Powered by blists - more mailing lists