[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <162946212617.2128248.7705849006178271820.b4-ty@kernel.org>
Date: Fri, 20 Aug 2021 13:22:18 +0100
From: Marc Zyngier <maz@...nel.org>
To: Hector Martin <marcan@...can.st>, Sven Peter <sven@...npeter.dev>
Cc: Will Deacon <will@...nel.org>, linux-kernel@...r.kernel.org,
Thomas Gleixner <tglx@...utronix.de>,
linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH] irqchip/apple-aic: fix irq_disable from within irq handlers
On Thu, 12 Aug 2021 12:09:42 +0200, Sven Peter wrote:
> When disable_irq_nosync for an interrupt is called from within its
> interrupt handler, this interrupt is only marked as disabled with the
> intention to mask it when it triggers again.
> The AIC hardware however automatically masks the interrupt when it is read.
> aic_irq_eoi then unmasks it again if it's not disabled *and* not masked.
> This results in a state mismatch between the hardware state and the
> state kept in irq_data: The hardware interrupt is masked but
> IRQD_IRQ_MASKED is not set. Any further calls to unmask_irq will directly
> return and the interrupt can never be enabled again.
>
> [...]
Applied to irq/misc-5.15, thanks!
[1/1] irqchip/apple-aic: fix irq_disable from within irq handlers
commit: 0fb038ba08dba0a5e937b79a67ed9c21ab5b59c5
Cheers,
M.
--
Without deviation from the norm, progress is not possible.
Powered by blists - more mailing lists