From 37ad41e09298c0afba5bfa84cba6fc91624fa8e9 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Thu, 11 May 2017 01:13:58 +0200 Subject: [PATCH] host: Ignore some more libusb error return codes It seems that sometimes we get even an LIBUSB_ERROR_IO and failing on errors breaks the application, while ignoring it works. Not sure why that really is, but for now it increases reliability. --- host/simtrace2-remsim.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/host/simtrace2-remsim.c b/host/simtrace2-remsim.c index 8ac5a69e..67cf8b81 100644 --- a/host/simtrace2-remsim.c +++ b/host/simtrace2-remsim.c @@ -540,7 +540,9 @@ static void run_mainloop(struct cardem_inst *ci) if (transp->udp_fd < 0) { rc = libusb_bulk_transfer(transp->usb_devh, transp->usb_ep.in, buf, sizeof(buf), &xfer_len, 100000); - if (rc < 0 && rc != LIBUSB_ERROR_TIMEOUT) { + if (rc < 0 && rc != LIBUSB_ERROR_TIMEOUT && + rc != LIBUSB_ERROR_INTERRUPTED && + rc != LIBUSB_ERROR_IO) { fprintf(stderr, "BULK IN transfer error; rc=%d\n", rc); return; }