kernel/kernel/irq/handle.c
.. .. @@ -32,9 +32,16 @@ 32 32 { 33 33 unsigned int irq = irq_desc_get_irq(desc); 34 34 35 + /* Let the in-band stage report the issue. */36 + if (on_pipeline_entry()) {37 + ack_bad_irq(irq);38 + return;39 + }40 +35 41 print_irq_desc(irq, desc); 36 42 kstat_incr_irqs_this_cpu(desc); 37 - ack_bad_irq(irq);43 + if (!irqs_pipelined())44 + ack_bad_irq(irq);38 45 } 39 46 EXPORT_SYMBOL_GPL(handle_bad_irq); 40 47