ftdi: Report an error if no ftdi_vid_pid is specified
authorLeonard Crestez <leonard.crestez@nxp.com>
Thu, 6 Feb 2020 14:13:25 +0000 (16:13 +0200)
committerAntonio Borneo <borneo.antonio@gmail.com>
Fri, 24 Apr 2020 16:40:07 +0000 (17:40 +0100)
By default the list of VID/PID is empty so if ftdi_vid_pid is not called
then no matches are attempted. The only message is at -d3:

Command 'init' failed with error code -100"

Check for this condition explicitly to make life easier for people
configuring adapters.

Change-Id: If0f93370c9e9ddc9700aae7c346c1c6dd319152e
Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Reviewed-on: http://openocd.zylin.com/5440
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
src/jtag/drivers/ftdi.c

index 121cb469f283dca6160dcadfd42af4d5de4e73bb..f1d28d2fd26e826ded388dd238cb770d8100ec5f 100644 (file)
@@ -647,6 +647,11 @@ static int ftdi_initialize(void)
        else
                LOG_DEBUG("ftdi interface using shortest path jtag state transitions");
 
+       if (!ftdi_vid[0] && !ftdi_pid[0]) {
+               LOG_ERROR("Please specify ftdi_vid_pid");
+               return ERROR_JTAG_INIT_FAILED;
+       }
+
        for (int i = 0; ftdi_vid[i] || ftdi_pid[i]; i++) {
                mpsse_ctx = mpsse_open(&ftdi_vid[i], &ftdi_pid[i], ftdi_device_desc,
                                ftdi_serial, jtag_usb_get_location(), ftdi_channel);