KVM: Fix coalesced interrupt reporting in IOAPIC
authorGleb Natapov <gleb@redhat.com>
Thu, 3 Sep 2009 09:10:34 +0000 (12:10 +0300)
committerAvi Kivity <avi@redhat.com>
Thu, 10 Sep 2009 07:46:59 +0000 (10:46 +0300)
This bug was introduced by b4a2f5e723e4f7df467.

Cc: stable@kernel.org
Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
virt/kvm/ioapic.c

index fa05f67..9fe140b 100644 (file)
@@ -193,6 +193,8 @@ int kvm_ioapic_set_irq(struct kvm_ioapic *ioapic, int irq, int level)
                        if ((edge && old_irr != ioapic->irr) ||
                            (!edge && !entry.fields.remote_irr))
                                ret = ioapic_service(ioapic, irq);
+                       else
+                               ret = 0; /* report coalesced interrupt */
                }
                trace_kvm_ioapic_set_irq(entry.bits, irq, ret == 0);
        }