rpms/qemu/devel qemu-fix-msix-error-handling-on-older-kernels.patch, NONE, 1.1 qemu.spec, 1.124, 1.125

Mark McLoughlin markmc at fedoraproject.org
Mon Sep 7 07:02:09 UTC 2009


Author: markmc

Update of /cvs/pkgs/rpms/qemu/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv22395

Modified Files:
	qemu.spec 
Added Files:
	qemu-fix-msix-error-handling-on-older-kernels.patch 
Log Message:
* Mon Sep  7 2009 Mark McLoughlin <markmc at redhat.com> - 2:0.10.91-0.10.rc1
- Fix MSI-X error handling on older kernels (#519787)


qemu-fix-msix-error-handling-on-older-kernels.patch:
 msix.c |   11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

--- NEW FILE qemu-fix-msix-error-handling-on-older-kernels.patch ---
>From 057fb1b4b227bc49aa00b08da5f177b50c020693 Mon Sep 17 00:00:00 2001
From: Michael S. Tsirkin <mst at redhat.com>
Date: Thu, 23 Jul 2009 16:34:13 +0300
Subject: [PATCH] Fix error handling in msix vector add

When adding a vector fails, the used counter should
not be incremented, otherwise on vector change we will
try to update the routing entry.

(cherry picked from commit aca6915d92743b11ac5555d6e412cc4737f27f34)

Signed-off-by: Michael S. Tsirkin <mst at redhat.com>
Signed-off-by: Avi Kivity <avi at redhat.com>
Signed-off-by: Mark McLoughlin <markmc at redhat.com>
Fedora-patch: qemu-fix-msix-error-handling-on-older-kernels.patch
---
 hw/msix.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/hw/msix.c b/hw/msix.c
index 974268d..b6c3f17 100644
--- a/hw/msix.c
+++ b/hw/msix.c
@@ -503,13 +503,19 @@ void msix_reset(PCIDevice *dev)
 /* Mark vector as used. */
 int msix_vector_use(PCIDevice *dev, unsigned vector)
 {
+    int ret;
     if (vector >= dev->msix_entries_nr)
         return -EINVAL;
-    if (dev->msix_entry_used[vector]++)
+    if (dev->msix_entry_used[vector]) {
         return 0;
+    }
     if (kvm_enabled() && qemu_kvm_irqchip_in_kernel()) {
-        return kvm_msix_add(dev, vector);
+        ret = kvm_msix_add(dev, vector);
+        if (ret) {
+            return ret;
+        }
     }
+    ++dev->msix_entry_used[vector];
     return 0;
 }
 
-- 
1.6.2.5



Index: qemu.spec
===================================================================
RCS file: /cvs/pkgs/rpms/qemu/devel/qemu.spec,v
retrieving revision 1.124
retrieving revision 1.125
diff -u -p -r1.124 -r1.125
--- qemu.spec	4 Sep 2009 10:34:32 -0000	1.124
+++ qemu.spec	7 Sep 2009 07:02:08 -0000	1.125
@@ -4,7 +4,7 @@
 Summary: QEMU is a FAST! processor emulator
 Name: qemu
 Version: 0.10.91
-Release: 0.9.%{kvmvertag}%{?dist}
+Release: 0.10.%{kvmvertag}%{?dist}
 # Epoch because we pushed a qemu-1.0 package
 Epoch: 2
 License: GPLv2+ and LGPLv2+ and BSD
@@ -40,6 +40,9 @@ Patch07: qemu-fix-no-kvm-segfault.patch
 # Allow the pulseudio backend to be the default
 Patch08: qemu-allow-pulseaudio-to-be-the-default.patch
 
+# Fix MSI-X error handling on older kernels (#519787)
+Patch09: qemu-fix-msix-error-handling-on-older-kernels.patch
+
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires: SDL-devel zlib-devel which texi2html gnutls-devel cyrus-sasl-devel
 BuildRequires: rsync dev86 iasl
@@ -228,6 +231,7 @@ such as kvmtrace and kvm_stat.
 %patch06 -p1
 %patch07 -p1
 %patch08 -p1
+%patch09 -p1
 
 %build
 # systems like rhel build system does not have a recent enough linker so
@@ -492,6 +496,9 @@ getent passwd qemu >/dev/null || \
 %{_mandir}/man1/qemu-img.1*
 
 %changelog
+* Mon Sep  7 2009 Mark McLoughlin <markmc at redhat.com> - 2:0.10.91-0.10.rc1
+- Fix MSI-X error handling on older kernels (#519787)
+
 * Fri Sep  4 2009 Mark McLoughlin <markmc at redhat.com> - 2:0.10.91-0.9.rc1
 - Make pulseaudio the default audio backend (#519540, #495964, #496627)
 




More information about the scm-commits mailing list