[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 2/2] usb-uhci: fix irq handling on error.
From: |
Gerd Hoffmann |
Subject: |
[Qemu-devel] [PATCH 2/2] usb-uhci: fix irq handling on error. |
Date: |
Wed, 20 Jul 2011 12:23:24 +0200 |
Spec on UHCI_STS_USBERR: "If the TD on which the error interrupt
occurred also had its IOC bit set, both this bit and Bit 0 are set."
Make UHCI emulation do that.
Signed-off-by: Gerd Hoffmann <address@hidden>
---
hw/usb-uhci.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/hw/usb-uhci.c b/hw/usb-uhci.c
index 2ef4c5b..da74c57 100644
--- a/hw/usb-uhci.c
+++ b/hw/usb-uhci.c
@@ -730,6 +730,9 @@ out:
td->ctrl |= TD_CTRL_STALL;
td->ctrl &= ~TD_CTRL_ACTIVE;
s->status |= UHCI_STS_USBERR;
+ if (td->ctrl & TD_CTRL_IOC) {
+ *int_mask |= 0x01;
+ }
uhci_update_irq(s);
return 1;
@@ -737,6 +740,9 @@ out:
td->ctrl |= TD_CTRL_BABBLE | TD_CTRL_STALL;
td->ctrl &= ~TD_CTRL_ACTIVE;
s->status |= UHCI_STS_USBERR;
+ if (td->ctrl & TD_CTRL_IOC) {
+ *int_mask |= 0x01;
+ }
uhci_update_irq(s);
/* frame interrupted */
return -1;
--
1.7.1
- [Qemu-devel] [PATCH 15/23] pci: add ich9 usb controller ids, (continued)
- [Qemu-devel] [PATCH 15/23] pci: add ich9 usb controller ids, Gerd Hoffmann, 2011/07/08
- [Qemu-devel] [PATCH 18/23] ehci: add ich9 controller., Gerd Hoffmann, 2011/07/08
- [Qemu-devel] [PATCH 19/23] usb: update documentation, Gerd Hoffmann, 2011/07/08
- [Qemu-devel] [PATCH 23/23] usb-ohci: raise interrupt on attach, Gerd Hoffmann, 2011/07/08
- [Qemu-devel] [PATCH 20/23] usb_register_port(): do not set port->opaque and port->index twice, Gerd Hoffmann, 2011/07/08
- [Qemu-devel] [PATCH 22/23] usb-hub: remove unused descriptor arrays, Gerd Hoffmann, 2011/07/08
- [Qemu-devel] [PATCH 21/23] usb: fixup bluetooth descriptors, Gerd Hoffmann, 2011/07/08
- Re: [Qemu-devel] [PULL] usb patch queue, Gerd Hoffmann, 2011/07/12
- Re: [Qemu-devel] [PULL] usb patch queue, Anthony Liguori, 2011/07/19
- [Qemu-devel] [PULL] usb patch queue, Gerd Hoffmann, 2011/07/20