jlink: Disable automatic device selection
If multiple devices are attached, do not automatically use the first device found. Otherwise, a user may unintentionally operate on the wrong device. Change-Id: I08c4110b82e911e9e3e744d41830ffc6c56c44bf Signed-off-by: Marc Schink <openocd-dev@marcschink.de> Reviewed-on: http://openocd.zylin.com/4213 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
This commit is contained in:
parent
f981730fe7
commit
98e63cdc86
|
@ -546,6 +546,7 @@ static int jlink_init(void)
|
||||||
struct jaylink_hardware_status hwstatus;
|
struct jaylink_hardware_status hwstatus;
|
||||||
enum jaylink_usb_address address;
|
enum jaylink_usb_address address;
|
||||||
size_t length;
|
size_t length;
|
||||||
|
size_t num_devices;
|
||||||
|
|
||||||
LOG_DEBUG("Using libjaylink %s (compiled with %s).",
|
LOG_DEBUG("Using libjaylink %s (compiled with %s).",
|
||||||
jaylink_version_package_get_string(), JAYLINK_VERSION_PACKAGE_STRING);
|
jaylink_version_package_get_string(), JAYLINK_VERSION_PACKAGE_STRING);
|
||||||
|
@ -580,7 +581,7 @@ static int jlink_init(void)
|
||||||
return ERROR_JTAG_INIT_FAILED;
|
return ERROR_JTAG_INIT_FAILED;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = jaylink_get_devices(jayctx, &devs, NULL);
|
ret = jaylink_get_devices(jayctx, &devs, &num_devices);
|
||||||
|
|
||||||
if (ret != JAYLINK_OK) {
|
if (ret != JAYLINK_OK) {
|
||||||
LOG_ERROR("jaylink_get_devices() failed: %s.", jaylink_strerror(ret));
|
LOG_ERROR("jaylink_get_devices() failed: %s.", jaylink_strerror(ret));
|
||||||
|
@ -588,10 +589,14 @@ static int jlink_init(void)
|
||||||
return ERROR_JTAG_INIT_FAILED;
|
return ERROR_JTAG_INIT_FAILED;
|
||||||
}
|
}
|
||||||
|
|
||||||
found_device = false;
|
if (!use_serial_number && !use_usb_address && num_devices > 1) {
|
||||||
|
LOG_ERROR("Multiple devices found, specify the desired device.");
|
||||||
|
jaylink_free_devices(devs, true);
|
||||||
|
jaylink_exit(jayctx);
|
||||||
|
return ERROR_JTAG_INIT_FAILED;
|
||||||
|
}
|
||||||
|
|
||||||
if (!use_serial_number && !use_usb_address)
|
found_device = false;
|
||||||
LOG_INFO("No device selected, using first device.");
|
|
||||||
|
|
||||||
for (i = 0; devs[i]; i++) {
|
for (i = 0; devs[i]; i++) {
|
||||||
if (use_serial_number) {
|
if (use_serial_number) {
|
||||||
|
|
Loading…
Reference in New Issue