Patchwork Bug #757654: UHCI fails to signal stall response patch

login
register
mail settings
Submitter Jan Vesely
Date May 9, 2011, 10:16 a.m.
Message ID <BANLkTimMGis4pBnZvbP=KwKtaOp8rDCfBQ@mail.gmail.com>
Download mbox | patch
Permalink /patch/94754/
State New
Headers show

Comments

Jan Vesely - May 9, 2011, 10:16 a.m.
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>
---
 hw/usb-uhci.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)
Gerd Hoffmann - May 9, 2011, 11:43 a.m.
On 05/09/11 12:16, Jan Vesely wrote:
> UHCI host controller status register indicates error and
> an interrupt is triggered on BABBLE and STALL errors.

Queued up.

thanks,
   Gerd
Jan Vesely - May 11, 2011, 11:33 a.m.
glad I could help

the original bug report is here: https://bugs.launchpad.net/qemu/+bug/757654
should I update it? or will it be updated when the patch reaches master?

j.

On Mon, May 9, 2011 at 1:43 PM, Gerd Hoffmann <kraxel@redhat.com> wrote:
> On 05/09/11 12:16, Jan Vesely wrote:
>>
>> UHCI host controller status register indicates error and
>> an interrupt is triggered on BABBLE and STALL errors.
>
> Queued up.
>
> thanks,
>  Gerd
>
>
Gerd Hoffmann - May 12, 2011, 9:28 a.m.
On 05/11/11 13:33, Jan Vesely wrote:
> glad I could help
>
> the original bug report is here: https://bugs.launchpad.net/qemu/+bug/757654
> should I update it? or will it be updated when the patch reaches master?

Better wait until the stuff hits master, that is less confusing and you 
can also add the git commit hash then.

cheers,
   Gerd

Patch

diff --git a/hw/usb-uhci.c b/hw/usb-uhci.c
index a65e0b3..1e9c1e7 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;