From d2273d10b608a4c5e2cb0d8514675609ff98313f Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=B6rg=20Wunsch?= Date: Fri, 14 Mar 2014 14:41:51 +0100 Subject: [PATCH 1/1] CMSIS-DAP: print a debug message when the USB product string cannot be read MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit As suggested by Stian Skjelstad in a comment in: http://openocd.zylin.com/#/c/2044/ if the USB product string cannot be read, provide a debug message so users might get aware of a potential permission problem when looking at the debug output. Fix style bug found by Jenkins. Change-Id: I6acb1c6261fec6f2bee80e4be513a5c5e29eff79 Signed-off-by: Jörg Wunsch Reviewed-on: http://openocd.zylin.com/2048 Tested-by: jenkins Reviewed-by: Spencer Oliver --- src/jtag/drivers/cmsis_dap_usb.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/jtag/drivers/cmsis_dap_usb.c b/src/jtag/drivers/cmsis_dap_usb.c index 34f8f251..dc59fcf9 100644 --- a/src/jtag/drivers/cmsis_dap_usb.c +++ b/src/jtag/drivers/cmsis_dap_usb.c @@ -173,13 +173,18 @@ static int cmsis_dap_usb_open(void) devs = hid_enumerate(0x0, 0x0); cur_dev = devs; while (NULL != cur_dev) { - if ((0 == cmsis_dap_vid[0]) && (NULL != cur_dev->product_string) - && wcsstr(cur_dev->product_string, L"CMSIS-DAP")) { - /* - if the user hasn't specified VID:PID *and* - product string contains "CMSIS-DAP", pick it - */ - break; + if (0 == cmsis_dap_vid[0]) { + if (NULL == cur_dev->product_string) { + LOG_DEBUG("Cannot read product string of device 0x%x:0x%x", + cur_dev->vendor_id, cur_dev->product_id); + } else { + if (wcsstr(cur_dev->product_string, L"CMSIS-DAP")) + /* + if the user hasn't specified VID:PID *and* + product string contains "CMSIS-DAP", pick it + */ + break; + } } else { /* otherwise, exhaustively compare against all VID:PID in list -- 2.39.2