summaryrefslogtreecommitdiff
path: root/hw/usb
diff options
context:
space:
mode:
authorLi Qiang <liqiang6-s@360.cn>2017-02-07 03:15:03 -0800
committerGerd Hoffmann <kraxel@redhat.com>2017-02-21 08:11:42 +0100
commit26f670a244982335cc08943fb1ec099a2c81e42d (patch)
tree35c36f3920e36fe43a6065f44d3d5a4696593cbb /hw/usb
parentd710e1e7bd3d5bfc26b631f02ae87901ebe646b0 (diff)
downloadqemu-26f670a244982335cc08943fb1ec099a2c81e42d.zip
usb: ohci: fix error return code in servicing iso td
It should return 1 if an error occurs when reading iso td. This will avoid an infinite loop issue in ohci_service_ed_list. Signed-off-by: Li Qiang <liqiang6-s@360.cn> Message-id: 5899ac3e.1033240a.944d5.9a2d@mx.google.com Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw/usb')
-rw-r--r--hw/usb/hcd-ohci.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/usb/hcd-ohci.c b/hw/usb/hcd-ohci.c
index c82a92fff7..2cba3e3b5b 100644
--- a/hw/usb/hcd-ohci.c
+++ b/hw/usb/hcd-ohci.c
@@ -725,7 +725,7 @@ static int ohci_service_iso_td(OHCIState *ohci, struct ohci_ed *ed,
if (ohci_read_iso_td(ohci, addr, &iso_td)) {
trace_usb_ohci_iso_td_read_failed(addr);
ohci_die(ohci);
- return 0;
+ return 1;
}
starting_frame = OHCI_BM(iso_td.flags, TD_SF);