summaryrefslogtreecommitdiff
path: root/hw/usb/hcd-uhci.c
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2012-03-08 13:37:52 +0100
committerGerd Hoffmann <kraxel@redhat.com>2012-03-13 10:15:32 +0100
commitd9a528db7f2d71d92e869e20bda37774f11fbbe1 (patch)
treeabe47a5f6d8b8a934fe2c5ee82346b796b80c16a /hw/usb/hcd-uhci.c
parent60f8afcb5d734b6e8a6ba6cb26254dc04e8d9f8d (diff)
downloadqemu-d9a528db7f2d71d92e869e20bda37774f11fbbe1.tar.gz
uhci: cancel on schedule stop.
Cancel any in-flight transaction when the guest stops the uhci schedule. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw/usb/hcd-uhci.c')
-rw-r--r--hw/usb/hcd-uhci.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/usb/hcd-uhci.c b/hw/usb/hcd-uhci.c
index 416f7034b8..5177e33c37 100644
--- a/hw/usb/hcd-uhci.c
+++ b/hw/usb/hcd-uhci.c
@@ -1126,6 +1126,7 @@ static void uhci_frame_timer(void *opaque)
if (!(s->cmd & UHCI_CMD_RS)) {
/* Full stop */
qemu_del_timer(s->frame_timer);
+ uhci_async_cancel_all(s);
/* set hchalted bit in status - UHCI11D 2.1.2 */
s->status |= UHCI_STS_HCHALTED;