]> xenbits.xensource.com Git - xen.git/commitdiff
x86/irq: fix reporting of spurious i8259 interrupts
authorRoger Pau Monné <roger.pau@citrix.com>
Tue, 5 Sep 2023 06:53:57 +0000 (08:53 +0200)
committerJan Beulich <jbeulich@suse.com>
Tue, 5 Sep 2023 06:53:57 +0000 (08:53 +0200)
The return value of bogus_8259A_irq() is wrong: the function will
return `true` when the IRQ is real and `false` when it's a spurious
IRQ.  This causes the "No irq handler for vector ..." message in
do_IRQ() to be printed for spurious i8259 interrupts which is not
intended (and not helpful).

Fix by inverting the return value of bogus_8259A_irq().

Fixes: 132906348a14 ('x86/i8259: Handle bogus spurious interrupts more quietly')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
master commit: 709f6c8ce6422475c372e67507606170a31ccb65
master date: 2023-08-30 10:03:53 +0200

xen/arch/x86/i8259.c

index 6b35be10f09a8874555da03555c976fd1ad80f8a..ed9f55abe51e625e70979767b0748003d8c78606 100644 (file)
@@ -37,7 +37,7 @@ static bool _mask_and_ack_8259A_irq(unsigned int irq);
 
 bool bogus_8259A_irq(unsigned int irq)
 {
-    return _mask_and_ack_8259A_irq(irq);
+    return !_mask_and_ack_8259A_irq(irq);
 }
 
 static void cf_check mask_and_ack_8259A_irq(struct irq_desc *desc)