On 7/5/19 9:38 AM, Jan Kiszka wrote: > This addresses it on x86 for me: > > diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c > index 6c279e065879..d503b875f086 100644 > --- a/kernel/irq/chip.c > +++ b/kernel/irq/chip.c > @@ -1099,7 +1099,8 @@ void ipipe_enable_irq(unsigned int irq) > ipipe_root_only(); > > raw_spin_lock_irqsave(&desc->lock, flags); > - if (desc->istate & IPIPE_IRQS_NEEDS_STARTUP) { > + if (desc->istate & IPIPE_IRQS_NEEDS_STARTUP && > + !WARN_ON(irq_activate(desc))) { > desc->istate &= ~IPIPE_IRQS_NEEDS_STARTUP; > chip->irq_startup(&desc->irq_data); > } > > Probably upstream commit c942cee46bba (genirq: Separate activation and > startup) makes this necessary. > > Philippe, I suppose this is either not essential on arm, or external > interrupts weren't tested yet, like I missed on x86. Fine to make this a > noarch patch?
No issue. I've not been working on/with the I-pipe but Dovetail instead in the past weeks, so testing of 4.19 is still very limited on my end. I have several full-fledged real world ARM*-based application systems to improve this, just need to find a way to squeeze this work in. -- Philippe.