Fix qemu crashing (on an assert) whenever USB-2.0 isoc transfers are used

This commit is contained in:
Hans de Goede 2012-07-06 12:12:49 +02:00
parent 0552ca5eb7
commit ad66101689
2 changed files with 36 additions and 1 deletions

View File

@ -0,0 +1,30 @@
From 050146c8b005683cbc36a837844d2d637b27100c Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@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@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

View File

@ -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@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@redhat.com> - 2:1.1.0-4
- Disable tests since they hang intermittently.
- Add kvmvapic.bin (replaces vapic.bin).