On 05/08/2025 5:03 pm, Roger Pau Monne wrote: > The current logic in the HPET interrupt ->ack() hook will perform a local > APIC EOI ahead of enabling interrupts, possibly leading to recursion in the > interrupt handler. > > Fix this by doing the local APIC EOI strictly after the window with > interrupt enabled, as that prevents the recursion, and would only allow for > interrupts with higher priority to be serviced. > > Use the generic ack_nonmaskable_msi_irq() and end_nonmaskable_irq() > functions, removing the need for hpet_msi_ack(). > > Reported-by: Andrew Cooper <[email protected]> > Fixes: 3ba523ff957c ('CPUIDLE: enable MSI capable HPET for timer broadcast') > Signed-off-by: Roger Pau Monné <[email protected]>
Reviewed-by: Andrew Cooper <[email protected]> Good riddance to the mess in our patchqueue cased by this.
