- Fix MSI-X error handling on older kernels (#519787)
This commit is contained in:
parent
ee62648630
commit
dc5736caa0
48
qemu-fix-msix-error-handling-on-older-kernels.patch
Normal file
48
qemu-fix-msix-error-handling-on-older-kernels.patch
Normal file
@ -0,0 +1,48 @@
|
||||
From 057fb1b4b227bc49aa00b08da5f177b50c020693 Mon Sep 17 00:00:00 2001
|
||||
From: Michael S. Tsirkin <mst@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@redhat.com>
|
||||
Signed-off-by: Avi Kivity <avi@redhat.com>
|
||||
Signed-off-by: Mark McLoughlin <markmc@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
|
||||
|
@ -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@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@redhat.com> - 2:0.10.91-0.9.rc1
|
||||
- Make pulseaudio the default audio backend (#519540, #495964, #496627)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user