Bug #757654: UHCI fails to signal stall response patch
authorJan Vesely <jano.vesely@gmail.com>
Mon, 9 May 2011 10:16:50 +0000 (12:16 +0200)
committerGerd Hoffmann <kraxel@redhat.com>
Thu, 26 May 2011 09:55:02 +0000 (11:55 +0200)
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>
hw/usb-uhci.c

index a65e0b3..1e9c1e7 100644 (file)
@@ -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;