jtag/drivers/cmsis_dap: fix check for hardcoded vids/pids
authorPaul Fertser <fercerpav@gmail.com>
Tue, 24 Jun 2014 14:10:35 +0000 (18:10 +0400)
committerAndreas Fritiofson <andreas.fritiofson@gmail.com>
Thu, 3 Jul 2014 18:40:49 +0000 (18:40 +0000)
This is intended to fix cmsis_dap_vid_pid command but it doesn't
because cmsis-dap has only one transport and it's auto-selected from
"interface" command handler (before any other commands are run) and as
the result cmsis_dap_usb_open() is called too early.

Change-Id: Idaade73797d8df67a6439d096f6abc9736495599
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2191
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
src/jtag/drivers/cmsis_dap_usb.c

index 5072de0c77eb45e4ac9ed8980ac9424a9d83684d..7d4c579ae08342b433a1a9d97a5f7e5fbe70c65c 100644 (file)
@@ -193,6 +193,8 @@ static int cmsis_dap_usb_open(void)
                                if ((cmsis_dap_vid[i] == cur_dev->vendor_id) && (cmsis_dap_pid[i] == cur_dev->product_id))
                                        break;
                        }
+                       if (cmsis_dap_vid[i] || cmsis_dap_pid[i])
+                               break;
                }
 
                cur_dev = cur_dev->next;