aboutsummaryrefslogtreecommitdiff
path: root/virt/kvm/ioapic.c
diff options
context:
space:
mode:
authorGleb Natapov <gleb@redhat.com>2009-09-03 12:10:34 +0300
committerAvi Kivity <avi@redhat.com>2009-09-10 10:46:59 +0300
commit65a82211636f156a276cac3f8665605ae18f371f (patch)
treee3747c159a8c86bcd92dde36dd58b59c942ed9ff /virt/kvm/ioapic.c
parenta20316d2aa41a8f4fd171648bad8f044f6060826 (diff)
downloadvexpress-lsk-65a82211636f156a276cac3f8665605ae18f371f.tar.gz
KVM: Fix coalesced interrupt reporting in IOAPIC
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>
Diffstat (limited to 'virt/kvm/ioapic.c')
-rw-r--r--virt/kvm/ioapic.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/virt/kvm/ioapic.c b/virt/kvm/ioapic.c
index fa05f67423a..9fe140bb38e 100644
--- a/virt/kvm/ioapic.c
+++ b/virt/kvm/ioapic.c
@@ -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);
}