From fa9bbd3828177d050d31f555b5d2a7adbb039f98 Mon Sep 17 00:00:00 2001 From: oharboe Date: Fri, 5 Sep 2008 06:52:07 +0000 Subject: [PATCH] workaround and comment for problems identified by Michael Schwingen. git-svn-id: svn://svn.berlios.de/openocd/trunk@979 b42882b7-edfa-0310-969c-e2dbd0fdcd60 --- src/target/cortex_swjdp.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/target/cortex_swjdp.c b/src/target/cortex_swjdp.c index 0b20bf63..db92a91f 100644 --- a/src/target/cortex_swjdp.c +++ b/src/target/cortex_swjdp.c @@ -177,7 +177,19 @@ int swjdp_transaction_endcheck(swjdp_common_t *swjdp) keep_alive(); + /* Danger!!!! BROKEN!!!! */ scan_inout_check_u32(swjdp, SWJDP_IR_DPACC, DP_CTRL_STAT, DPAP_READ, 0, &ctrlstat); + /* Danger!!!! BROKEN!!!! Why will jtag_execute_queue() fail here???? + R956 introduced the check on return value here and now Michael Schwingen reports + that this code no longer works.... + + https://lists.berlios.de/pipermail/openocd-development/2008-September/003107.html + */ + if ((retval=jtag_execute_queue())!=ERROR_OK) + { + LOG_ERROR("BUG: Why does this fail the first time????"); + } + /* Why??? second time it works??? */ scan_inout_check_u32(swjdp, SWJDP_IR_DPACC, DP_CTRL_STAT, DPAP_READ, 0, &ctrlstat); if ((retval=jtag_execute_queue())!=ERROR_OK) return retval; -- 2.39.5