On Mon, 24 Oct 2016, Mason wrote: > > For the record, setting the IRQ_DISABLE_UNLAZY flag for this device > makes the system lock-up disappear.
The way how lazy irq disabling works is: 1) Interrupt is marked disabled in software, but the hardware is not masked 2) If the interrupt fires befor the interrupt is reenabled, then it's masked at the hardware level in the low level interrupt flow handler. I have no idea why that does not work on your hardware. You might instrument handle_level_irq() to see what effect that has. Thanks, tglx