libusb: add debug message on adapter not found due to wrong serial
[openocd.git] / src / jtag / drivers / libusb1_common.c
index a1db86f..ec52a1b 100644 (file)
@@ -72,6 +72,7 @@ int jtag_libusb_open(const uint16_t vids[], const uint16_t pids[],
 {
        int cnt, idx, errCode;
        int retval = ERROR_FAIL;
+       bool serial_mismatch = false;
        struct jtag_libusb_device_handle *libusb_handle = NULL;
 
        if (libusb_init(&jtag_libusb_context) < 0)
@@ -99,6 +100,7 @@ int jtag_libusb_open(const uint16_t vids[], const uint16_t pids[],
                /* Device must be open to use libusb_get_string_descriptor_ascii. */
                if (serial != NULL &&
                                !string_descriptor_equal(libusb_handle, dev_desc.iSerialNumber, serial)) {
+                       serial_mismatch = true;
                        libusb_close(libusb_handle);
                        continue;
                }
@@ -106,10 +108,15 @@ int jtag_libusb_open(const uint16_t vids[], const uint16_t pids[],
                /* Success. */
                *out = libusb_handle;
                retval = ERROR_OK;
+               serial_mismatch = false;
                break;
        }
        if (cnt >= 0)
                libusb_free_device_list(devs, 1);
+
+       if (serial_mismatch)
+               LOG_INFO("No device matches the serial string");
+
        return retval;
 }