From fdb8c598ecd912147a08db53f2fd7bfa34b67d8a Mon Sep 17 00:00:00 2001 From: Tomas Vanek Date: Sat, 9 Jan 2016 18:56:23 +0100 Subject: [PATCH] adi_v5_swd: invalidate dap->select during (re)connect Commit 830d0c55c0920606366a15560d1945f1e1942744 introduced a regression in error recovery after reconnect: If first SWD queue run in dap_dp_init() fails, DP_SELECT does not get reset. Change-Id: I947e2afe9933e4645a6141ece7816af8e6082cf2 Signed-off-by: Tomas Vanek Reviewed-on: http://openocd.zylin.com/3194 Tested-by: jenkins Reviewed-by: Andreas Fritiofson --- src/target/adi_v5_swd.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/target/adi_v5_swd.c b/src/target/adi_v5_swd.c index 6990a8b9c6..f7a199c56c 100644 --- a/src/target/adi_v5_swd.c +++ b/src/target/adi_v5_swd.c @@ -123,6 +123,8 @@ static int swd_connect(struct adiv5_dap *dap) status = swd_run_inner(dap); + dap->select = DP_SELECT_INVALID; + if (status == ERROR_OK) { LOG_INFO("SWD IDCODE %#8.8" PRIx32, idcode); dap->do_reconnect = false; -- 2.30.2