laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/27389 )
Change subject: simtrace2-cardem-pcsc: continue in case of LIBUSB_TRANSFER_ERROR ......................................................................
simtrace2-cardem-pcsc: continue in case of LIBUSB_TRANSFER_ERROR
Sometimes I get LIBUSB_TRANSFER_ERROR particularly when the USB bus is very busy. We shouldn't terminate the program, but simply resubmit it. That's what we have multiple transfers for...
Change-Id: I77d7bc636c21171fcff7e70e87c0109cbaee9b51 --- M host/src/simtrace2-cardem-pcsc.c 1 file changed, 6 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/89/27389/1
diff --git a/host/src/simtrace2-cardem-pcsc.c b/host/src/simtrace2-cardem-pcsc.c index df4397a..c86f06a 100644 --- a/host/src/simtrace2-cardem-pcsc.c +++ b/host/src/simtrace2-cardem-pcsc.c @@ -278,6 +278,9 @@ /* hand the message up the stack */ process_usb_msg(ci, xfer->buffer, xfer->actual_length); break; + case LIBUSB_TRANSFER_ERROR: + LOGCI(ci, LOGL_FATAL, "USB IN transfer error, trying resubmit\n"); + break; case LIBUSB_TRANSFER_NO_DEVICE: LOGCI(ci, LOGL_FATAL, "USB device disappeared\n"); exit(1); @@ -329,6 +332,9 @@ case LIBUSB_TRANSFER_COMPLETED: process_usb_msg_irq(ci, xfer->buffer, xfer->actual_length); break; + case LIBUSB_TRANSFER_ERROR: + LOGCI(ci, LOGL_FATAL, "USB INT transfer error, trying resubmit\n"); + break; case LIBUSB_TRANSFER_NO_DEVICE: LOGCI(ci, LOGL_FATAL, "USB device disappeared\n"); exit(1);