qemu-trivial
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-trivial] [Qemu-devel] Bug #757654: UHCI fails to signal stall


From: Jan Vesely
Subject: Re: [Qemu-trivial] [Qemu-devel] Bug #757654: UHCI fails to signal stall response patch
Date: Fri, 6 May 2011 10:07:30 +0200

hi,
using the modified (single line) patch only works half-way, it sets
the value in status register (guess that's what that line does :))
but hw interrupt is not generated.

I tried adding uhci_update_irq and this 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;

works.

jan

On Thu, May 5, 2011 at 2:05 PM, Gerd Hoffmann <address@hidden> wrote:
>> diff --git a/hw/usb-uhci.c b/hw/usb-uhci.c
>> index 346db3e..a51d89b 100644
>> --- a/hw/usb-uhci.c
>> +++ b/hw/usb-uhci.c
>> @@ -732,11 +732,21 @@ out:
>>      case USB_RET_STALL:
>>          td->ctrl |= TD_CTRL_STALL;
>>          td->ctrl&= ~TD_CTRL_ACTIVE;
>> +        s->status |= UHCI_STS_USBERR;
>
> Just this line should be enougth.
>
>>      case USB_RET_BABBLE:
>>          td->ctrl |= TD_CTRL_BABBLE | TD_CTRL_STALL;
>>          td->ctrl&= ~TD_CTRL_ACTIVE;
>> +        s->status |= UHCI_STS_USBERR;
>
> Likewise.
>
> Tried that?
>
> cheers,
>  Gerd
>
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]