aboutsummaryrefslogtreecommitdiff
path: root/hw/usb-uhci.c
diff options
context:
space:
mode:
authorJan Vesely <jano.vesely@gmail.com>2011-05-09 12:16:50 +0200
committerGerd Hoffmann <kraxel@redhat.com>2011-05-26 11:55:02 +0200
commit8656954aedbd9995e68e998df734a849f8e63ade (patch)
tree63846596309cd1e381258057ec7654521288051c /hw/usb-uhci.c
parent6e625fc70410d76f2fc0d31185a96cf667076f8b (diff)
Bug #757654: UHCI fails to signal stall response patch
UHCI host controller status register indicates error and an interrupt is triggered on BABBLE and STALL errors. Signed-off-by: Jan Vesely <jano.vesely@gmail.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw/usb-uhci.c')
-rw-r--r--hw/usb-uhci.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/hw/usb-uhci.c b/hw/usb-uhci.c
index a65e0b3af6..1e9c1e7bf6 100644
--- a/hw/usb-uhci.c
+++ b/hw/usb-uhci.c
@@ -702,11 +702,15 @@ out:
case USB_RET_STALL:
td->ctrl |= TD_CTRL_STALL;
td->ctrl &= ~TD_CTRL_ACTIVE;
+ s->status |= UHCI_STS_USBERR;
+ uhci_update_irq(s);
return 1;
case USB_RET_BABBLE:
td->ctrl |= TD_CTRL_BABBLE | TD_CTRL_STALL;
td->ctrl &= ~TD_CTRL_ACTIVE;
+ s->status |= UHCI_STS_USBERR;
+ uhci_update_irq(s);
/* frame interrupted */
return -1;