|
|
298366 |
From 1cd7138d492304a76f3b8ae89fc61e05b18205a7 Mon Sep 17 00:00:00 2001
|
|
|
298366 |
From: "Michael S. Tsirkin" <mst@redhat.com>
|
|
|
298366 |
Date: Sun, 1 Sep 2013 11:03:45 +0300
|
|
|
298366 |
Subject: [PATCH] virtio_pci: fix level interrupts with irqfd
|
|
|
298366 |
|
|
|
298366 |
commit 62c96360ae7f2c7a8b029277fbb7cb082fdef7fd
|
|
|
298366 |
virtio-pci: fix level interrupts
|
|
|
298366 |
only helps systems without irqfd: on systems with irqfd support we
|
|
|
298366 |
passed in flag requesting irqfd even when msix is disabled.
|
|
|
298366 |
|
|
|
298366 |
As a result, for level interrupts we didn't install an fd handler so
|
|
|
298366 |
unmasking an fd had no effect.
|
|
|
298366 |
|
|
|
298366 |
Fix this up.
|
|
|
298366 |
|
|
|
298366 |
Cc: qemu-stable@nongnu.org
|
|
|
298366 |
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
|
|
298366 |
(cherry picked from commit 23fe2b3f9e7df8da53ac1bc32c6875254911d7f4)
|
|
|
298366 |
|
|
|
298366 |
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
|
|
|
298366 |
---
|
|
|
298366 |
hw/virtio/virtio-pci.c | 3 +--
|
|
|
298366 |
1 file changed, 1 insertion(+), 2 deletions(-)
|
|
|
298366 |
|
|
|
298366 |
diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c
|
|
|
298366 |
index d37037e..41b96ce 100644
|
|
|
298366 |
--- a/hw/virtio/virtio-pci.c
|
|
|
298366 |
+++ b/hw/virtio/virtio-pci.c
|
|
|
298366 |
@@ -799,8 +799,7 @@ static int virtio_pci_set_guest_notifiers(DeviceState *d, int nvqs, bool assign)
|
|
|
298366 |
break;
|
|
|
298366 |
}
|
|
|
298366 |
|
|
|
298366 |
- r = virtio_pci_set_guest_notifier(d, n, assign,
|
|
|
298366 |
- kvm_msi_via_irqfd_enabled());
|
|
|
298366 |
+ r = virtio_pci_set_guest_notifier(d, n, assign, with_irqfd);
|
|
|
298366 |
if (r < 0) {
|
|
|
298366 |
goto assign_error;
|
|
|
298366 |
}
|