[PATCH] irqchip/apple-aic: fix irq_disable from within irq handlers
Marc Zyngier
maz at kernel.org
Fri Aug 20 05:22:18 PDT 2021
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.
More information about the linux-arm-kernel
mailing list