On 02/22/2017 07:56 AM, Li Qiang wrote:
> 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 <liqiang6-s@360.cn>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> 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);
>