summaryrefslogtreecommitdiff
path: root/hw/usb/hcd-ohci.c
diff options
context:
space:
mode:
authorJack Un <jack.un@gmail.com>2014-08-09 23:34:36 +0300
committerGerd Hoffmann <kraxel@redhat.com>2014-08-29 12:51:43 +0200
commitcae7f29c47dee0bd0474fa7f1dda28b115a34d33 (patch)
tree264544c22497ac75c07f47ca2db6eec5c16f1dab /hw/usb/hcd-ohci.c
parent8c244210d842b71e838c8fc5219b6ab3e4063d71 (diff)
downloadqemu-cae7f29c47dee0bd0474fa7f1dda28b115a34d33.tar.gz
Fix OHCI ISO TD state never being written back.
There appears to be typo in OHCI with isochronous transfers resulting in isoch. transfer descriptor state never being written back. The'put_words' function is in a OR statement hence it is never called. Signed-off-by: Jack Un <jack.un@gmail.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw/usb/hcd-ohci.c')
-rw-r--r--hw/usb/hcd-ohci.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/hw/usb/hcd-ohci.c b/hw/usb/hcd-ohci.c
index 13afdf5919..cacf7b054c 100644
--- a/hw/usb/hcd-ohci.c
+++ b/hw/usb/hcd-ohci.c
@@ -619,8 +619,8 @@ static inline int ohci_put_td(OHCIState *ohci,
static inline int ohci_put_iso_td(OHCIState *ohci,
dma_addr_t addr, struct ohci_iso_td *td)
{
- return put_dwords(ohci, addr, (uint32_t *)td, 4 ||
- put_words(ohci, addr + 16, td->offset, 8));
+ return put_dwords(ohci, addr, (uint32_t *)td, 4) ||
+ put_words(ohci, addr + 16, td->offset, 8);
}
static inline int ohci_put_hcca(OHCIState *ohci,