Skip to content
Snippets Groups Projects
I

ipipe-arm64

Project ID: 370
Florian Bezdeka's avatar
Florian Bezdeka authored
Hardware IRQs are enabled here, e.g. when coming from
irq_finalize_oneshot()! It might happen that right after enabling the
IRQ at hardware level the IRQ comes in again, even before we could fix
the software IRQ state flag.

The result was a IRQ storm and system freeze because the same IRQ was
not properly masked at hw level during next IRQ arrival. The software
IRQ flag is checked before going down to the HW level.

Switching to unmask_irq() has two effects:
  - We do not have to care about the software IRQ state flag anymore
  - IRQ state is updated in a hwirq off section together with the hw
    state, so the software state flag and hw state should no longer
    diverge.

Link: https://lore.kernel.org/xenomai/20220210153313.2229625-1-gunter.grau@philips.com/


Signed-off-by: default avatarFlorian Bezdeka <florian.bezdeka@siemens.com>
Signed-off-by: default avatarJan Kiszka <jan.kiszka@siemens.com>
bfeea6ed
Name Last commit Last update