• Benjamin Herrenschmidt's avatar
    powerpc/irq: Fix another case of lazy IRQ state getting out of sync · 7c0482e3
    Benjamin Herrenschmidt authored
    So we have another case of paca->irq_happened getting out of
    sync with the HW irq state. This can happen when a perfmon
    interrupt occurs while soft disabled, as it will return to a
    soft disabled but hard enabled context while leaving a stale
    PACA_IRQ_HARD_DIS flag set.
    
    This patch fixes it, and also adds a test for the condition
    of those flags being out of sync in arch_local_irq_restore()
    when CONFIG_TRACE_IRQFLAGS is enabled.
    
    This helps catching those gremlins faster (and so far I
    can't seem see any anymore, so that's good news).
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    7c0482e3
irq.c 15.6 KB