Relax polling check if not in JTAG mode

Polling was disabled based on global variables jtag_trst and jtag_srst
which were never touched in non-JTAG mode. Modify the check and remove
the ugly workaround to avoid calls to a possibly uninitialized JTAG
subsystem.

Change-Id: I3b18c81e0fba7aaf35afe6f08c3fe8fa6f8443fd
Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Reviewed-on: http://openocd.zylin.com/2143
Tested-by: jenkins
Reviewed-by: Paul Fertser <fercerpav@gmail.com>
__archive__
Andreas Fritiofson 2014-05-14 22:14:10 +02:00
parent baf998b9f8
commit 12e9f6292b
2 changed files with 3 additions and 3 deletions

View File

@ -166,6 +166,9 @@ bool is_jtag_poll_safe(void)
* It is also implicitly disabled while TRST is active and * It is also implicitly disabled while TRST is active and
* while SRST is gating the JTAG clock. * while SRST is gating the JTAG clock.
*/ */
if (!transport_is_jtag())
return jtag_poll;
if (!jtag_poll || jtag_trst != 0) if (!jtag_poll || jtag_trst != 0)
return false; return false;
return jtag_srst == 0 || (jtag_reset_config & RESET_SRST_NO_GATING); return jtag_srst == 0 || (jtag_reset_config & RESET_SRST_NO_GATING);

View File

@ -429,9 +429,6 @@ static int swd_init(struct command_context *ctx)
if (status == ERROR_OK) if (status == ERROR_OK)
LOG_INFO("SWD IDCODE %#8.8" PRIx32, idcode); LOG_INFO("SWD IDCODE %#8.8" PRIx32, idcode);
/* this is a workaround to get polling working */
jtag_add_reset(0, 0);
return status; return status;
} }