Re: [PATCH] irqchip/apple-aic: fix irq_disable from within irq handlers

From: Marc Zyngier
Date: Fri Aug 20 2021 - 08:22:30 EST


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.