jtag: fix error on TCL command "return" in jtag event handler 99/5199/2
authorAntonio Borneo <borneo.antonio@gmail.com>
Mon, 3 Jun 2019 13:30:41 +0000 (15:30 +0200)
committerTomas Vanek <vanekt@fbl.cz>
Thu, 13 Jun 2019 11:40:51 +0000 (12:40 +0100)
commit9879f9bf0434a0ed1ebf69516a8505c2dd160a9b
treec30fa2ad497b1b92da6910aaa4344ee12a0aecbd
parent1af83682e0d7dbed0ba6db4b2bbf2542a4f9ab0d
jtag: fix error on TCL command "return" in jtag event handler

The TCL command "return" always returns error code JIM_RETURN, to
indicate that the effective error code and message are elsewhere.

In the current implementation, the caller of jtag's event only
checks for return code JIM_OK and considers any other value,
including JIM_RETURN, as an error condition.

It can be tested running openocd on a jtag target and adding a
jtag event "setup" with a single line "return", e.g.
openocd -f board/ti_cc3200_launchxl.cfg \
-c 'jtag configure cc32xx.cpu -event setup return'
to get the message:
../src/jtag/core.c:1599: Error:
in procedure 'jtag_init' called at file "../src/jtag/core.c",
line 1599

Modify jtag_tap_handle_event() to detect the specific return value
of the "return" command and to test the real error code that is,
eventually, specified to the TCL "return" command.

Change-Id: I6d6febc15ef169638afffbffc1810e0b84fcf5c8
Reported-by: Tomas Vanek <vanekt@fbl.cz>
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: http://openocd.zylin.com/5199
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
src/jtag/tcl.c