From: Li Qiang <liq...@gmail.com> It should return 1 if an error occurs when reading td. This will avoid an infinite loop issue in ohci_service_ed_list.
Signed-off-by: Li Qiang <liqiang...@360.cn> Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org> Message-id: 1487760990-115925-1-git-send-email-liqiang...@360.cn Signed-off-by: Gerd Hoffmann <kra...@redhat.com> --- hw/usb/hcd-ohci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/usb/hcd-ohci.c b/hw/usb/hcd-ohci.c index 21c93e0..fe8406a 100644 --- a/hw/usb/hcd-ohci.c +++ b/hw/usb/hcd-ohci.c @@ -1001,7 +1001,7 @@ static int ohci_service_td(OHCIState *ohci, struct ohci_ed *ed) if (ohci_read_td(ohci, addr, &td)) { trace_usb_ohci_td_read_error(addr); ohci_die(ohci); - return 0; + return 1; } dir = OHCI_BM(ed->flags, ED_D); -- 1.8.3.1