[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Bug #757654: UHCI fails to signal stall response patch
From: |
Jan Vesely |
Subject: |
Re: [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
>
>