yeahuh / rpms / qemu-kvm

Forked from rpms/qemu-kvm 2 years ago
Clone

Blame SOURCES/kvm-virtio_pci-fix-level-interrupts-with-irqfd.patch

9ae3a8
From d52f76a894c5a6663ffbee71e020069a86a52989 Mon Sep 17 00:00:00 2001
9ae3a8
Message-Id: <d52f76a894c5a6663ffbee71e020069a86a52989.1387385113.git.minovotn@redhat.com>
9ae3a8
From: Stefan Hajnoczi <stefanha@redhat.com>
9ae3a8
Date: Wed, 11 Dec 2013 09:55:07 +0100
9ae3a8
Subject: [PATCH] virtio_pci: fix level interrupts with irqfd
9ae3a8
9ae3a8
RH-Author: Stefan Hajnoczi <stefanha@redhat.com>
9ae3a8
Message-id: <1386755707-8033-1-git-send-email-stefanha@redhat.com>
9ae3a8
Patchwork-id: 56157
9ae3a8
O-Subject: [RHEL7 qemu-kvm PATCH] virtio_pci: fix level interrupts with irqfd
9ae3a8
Bugzilla: 1035132
9ae3a8
RH-Acked-by: Paolo Bonzini <pbonzini@redhat.com>
9ae3a8
RH-Acked-by: Michael S. Tsirkin <mst@redhat.com>
9ae3a8
RH-Acked-by: Alex Williamson <alex.williamson@redhat.com>
9ae3a8
9ae3a8
From: "Michael S. Tsirkin" <mst@redhat.com>
9ae3a8
9ae3a8
BZ: 1035132
9ae3a8
BZ: 1035150
9ae3a8
Brew: https://brewweb.devel.redhat.com/taskinfo?taskID=6700088
9ae3a8
Upstream: merged
9ae3a8
9ae3a8
commit 62c96360ae7f2c7a8b029277fbb7cb082fdef7fd
9ae3a8
    virtio-pci: fix level interrupts
9ae3a8
only helps systems without irqfd: on systems with irqfd support we
9ae3a8
passed in flag requesting irqfd even when msix is disabled.
9ae3a8
9ae3a8
As a result, for level interrupts we didn't install an fd handler so
9ae3a8
unmasking an fd had no effect.
9ae3a8
9ae3a8
Fix this up.
9ae3a8
9ae3a8
Cc: qemu-stable@nongnu.org
9ae3a8
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
9ae3a8
9ae3a8
(cherry picked from commit 23fe2b3f9e7df8da53ac1bc32c6875254911d7f4)
9ae3a8
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
9ae3a8
---
9ae3a8
 hw/virtio/virtio-pci.c | 3 +--
9ae3a8
 1 file changed, 1 insertion(+), 2 deletions(-)
9ae3a8
9ae3a8
Signed-off-by: Michal Novotny <minovotn@redhat.com>
9ae3a8
---
9ae3a8
 hw/virtio/virtio-pci.c | 3 +--
9ae3a8
 1 file changed, 1 insertion(+), 2 deletions(-)
9ae3a8
9ae3a8
diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c
9ae3a8
index ba8848f..6f5c434 100644
9ae3a8
--- a/hw/virtio/virtio-pci.c
9ae3a8
+++ b/hw/virtio/virtio-pci.c
9ae3a8
@@ -805,8 +805,7 @@ static int virtio_pci_set_guest_notifiers(DeviceState *d, int nvqs, bool assign)
9ae3a8
             break;
9ae3a8
         }
9ae3a8
 
9ae3a8
-        r = virtio_pci_set_guest_notifier(d, n, assign,
9ae3a8
-                                          kvm_msi_via_irqfd_enabled());
9ae3a8
+        r = virtio_pci_set_guest_notifier(d, n, assign, with_irqfd);
9ae3a8
         if (r < 0) {
9ae3a8
             goto assign_error;
9ae3a8
         }
9ae3a8
-- 
9ae3a8
1.7.11.7
9ae3a8