virtio_pci: fix level interrupts with irqfd
authorMichael S. Tsirkin <mst@redhat.com>
Sun, 1 Sep 2013 08:03:45 +0000 (11:03 +0300)
committerSeokYeon Hwang <syeon.hwang@samsung.com>
Tue, 29 Oct 2013 02:17:44 +0000 (11:17 +0900)
commit 62c96360ae7f2c7a8b029277fbb7cb082fdef7fd
    virtio-pci: fix level interrupts
only helps systems without irqfd: on systems with irqfd support we
passed in flag requesting irqfd even when msix is disabled.

As a result, for level interrupts we didn't install an fd handler so
unmasking an fd had no effect.

Fix this up.

Cc: qemu-stable@nongnu.org
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
(cherry picked from commit 23fe2b3f9e7df8da53ac1bc32c6875254911d7f4)

Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
hw/virtio/virtio-pci.c

index 1a12e49e8ed2388d949f24d99284e0d53ee7ca83..d6ab60b62afe83b8e66b77f4372eaa31234c55c5 100644 (file)
@@ -799,8 +799,7 @@ static int virtio_pci_set_guest_notifiers(DeviceState *d, int nvqs, bool assign)
             break;
         }
 
-        r = virtio_pci_set_guest_notifier(d, n, assign,
-                                          kvm_msi_via_irqfd_enabled());
+        r = virtio_pci_set_guest_notifier(d, n, assign, with_irqfd);
         if (r < 0) {
             goto assign_error;
         }