From 310d21ebf5ee044d93f21dc958ea002f3b7d9163 Mon Sep 17 00:00:00 2001 From: Gwenhael Goavec-Merou Date: Fri, 24 Dec 2021 10:26:31 +0100 Subject: [PATCH] dfu: when libusb_open fails: skip device instead of error and stop --- src/dfu.cpp | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/dfu.cpp b/src/dfu.cpp index e0e726b..691fadb 100644 --- a/src/dfu.cpp +++ b/src/dfu.cpp @@ -305,19 +305,18 @@ int DFU::searchDFUDevices() if (ret != 0) { char mess[256]; sprintf(mess,"Unable to open device: " - "%04x:%04x (bus %d, device %2d) Error: %s\n", + "%04x:%04x (bus %d, device %2d) Error: %s -> skip\n", desc.idVendor, desc.idProduct, libusb_get_bus_number(usb_dev), libusb_get_device_address(usb_dev), libusb_error_name(ret)); - printError(mess); - return EXIT_FAILURE; + printWarn(mess); + } else { + if (searchIfDFU(handle, usb_dev, &desc) != 0) { + return EXIT_FAILURE; + } + libusb_close(handle); } - - if (searchIfDFU(handle, usb_dev, &desc) != 0) { - return EXIT_FAILURE; - } - libusb_close(handle); } libusb_free_device_list(dev_list, 1);