[qemu] Fix qemu crashing (on an assert) whenever USB-2.0 isoc transfers are used
Hans de Goede
jwrdegoede at fedoraproject.org
Fri Jul 6 10:12:26 UTC 2012
commit ad661016890192fd77908fe6ce6a380229b1c3f2
Author: Hans de Goede <hdegoede at redhat.com>
Date: Fri Jul 6 12:12:49 2012 +0200
Fix qemu crashing (on an assert) whenever USB-2.0 isoc transfers are used
...x-an-assert-whenever-isoc-transfers-are-u.patch | 30 ++++++++++++++++++++
qemu.spec | 7 ++++-
2 files changed, 36 insertions(+), 1 deletions(-)
---
diff --git a/0202-usb-ehci-Fix-an-assert-whenever-isoc-transfers-are-u.patch b/0202-usb-ehci-Fix-an-assert-whenever-isoc-transfers-are-u.patch
new file mode 100644
index 0000000..0a62435
--- /dev/null
+++ b/0202-usb-ehci-Fix-an-assert-whenever-isoc-transfers-are-u.patch
@@ -0,0 +1,30 @@
+From 050146c8b005683cbc36a837844d2d637b27100c Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede at redhat.com>
+Date: Fri, 6 Jul 2012 12:04:15 +0200
+Subject: [PATCH] usb-ehci: Fix an assert whenever isoc transfers are used
+
+hcd-ehci.c is missing an usb_packet_init() call for the ipacket UsbPacket
+it uses for isoc transfers, triggering an assert (taking the entire vm down)
+in usb_packet_setup as soon as any isoc transfers are done by a high speed
+USB device.
+
+Signed-off-by: Hans de Goede <hdegoede at redhat.com>
+---
+ hw/usb/hcd-ehci.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
+index e759c99..eaa3ddd 100644
+--- a/hw/usb/hcd-ehci.c
++++ b/hw/usb/hcd-ehci.c
+@@ -2300,6 +2300,7 @@ static int usb_ehci_initfn(PCIDevice *dev)
+ s->frame_timer = qemu_new_timer_ns(vm_clock, ehci_frame_timer, s);
+ QTAILQ_INIT(&s->aqueues);
+ QTAILQ_INIT(&s->pqueues);
++ usb_packet_init(&s->ipacket);
+
+ qemu_register_reset(ehci_reset, s);
+
+--
+1.7.10.4
+
diff --git a/qemu.spec b/qemu.spec
index 9989a53..9cf6e11 100644
--- a/qemu.spec
+++ b/qemu.spec
@@ -38,7 +38,7 @@
Summary: QEMU is a FAST! processor emulator
Name: qemu
Version: 1.1.0
-Release: 4%{?dist}
+Release: 5%{?dist}
# Epoch because we pushed a qemu-1.0 package
Epoch: 2
License: GPLv2+ and LGPLv2+ and BSD
@@ -103,6 +103,7 @@ Patch113: 0113-char-Disable-write-callback-if-throttled-chardev-is-.patch
# USB-redir bugfixes
Patch201: 0201-usb-redir-Correctly-handle-the-usb_redir_babble-usbr.patch
+Patch202: 0202-usb-ehci-Fix-an-assert-whenever-isoc-transfers-are-u.patch
BuildRequires: SDL-devel zlib-devel which texi2html gnutls-devel cyrus-sasl-devel
BuildRequires: libaio-devel
@@ -371,6 +372,7 @@ such as kvm_stat.
%patch113 -p1
%patch201 -p1
+%patch202 -p1
%build
@@ -807,6 +809,9 @@ fi
%{_mandir}/man1/qemu-img.1*
%changelog
+* Fri Jul 6 2012 Hans de Goede <hdegoede at redhat.com> - 2:1.1.0-5
+- Fix qemu crashing (on an assert) whenever USB-2.0 isoc transfers are used
+
* Thu Jul 5 2012 Richard W.M. Jones <rjones at redhat.com> - 2:1.1.0-4
- Disable tests since they hang intermittently.
- Add kvmvapic.bin (replaces vapic.bin).
More information about the scm-commits
mailing list