KVM: ignore msi request if !level
authorMichael S. Tsirkin <mst@redhat.com>
Sun, 5 Jul 2009 18:27:58 +0000 (21:27 +0300)
committerAvi Kivity <avi@redhat.com>
Thu, 10 Sep 2009 05:33:10 +0000 (08:33 +0300)
Irqfd sets level for interrupt to 1 and then to 0.
For MSI, check level so that a single message is sent.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
virt/kvm/irq_comm.c

index 56e6961..a9d7fd1 100644 (file)
@@ -139,7 +139,9 @@ int kvm_set_irq(struct kvm *kvm, int irq_source_id, int irq, int level)
                else
                        clear_bit(irq_source_id, irq_state);
                sig_level = !!(*irq_state);
-       } else /* Deal with MSI/MSI-X */
+       } else if (!level)
+               return ret;
+       else /* Deal with MSI/MSI-X */
                sig_level = 1;
 
        /* Not possible to detect if the guest uses the PIC or the