Message ID | BANLkTik=gr0K9-_fOTqPQORo37xs2D+9Yg@mail.gmail.com |
---|---|
State | New |
Headers | show |
On 05/06/11 10:07, Jan Vesely wrote: > 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: > + s->status |= UHCI_STS_USBERR; > + uhci_update_irq(s); > works. Good. Can you create a patch with a changelog entry & signed-off please? I'll go queue it up then. thanks, Gerd
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;