aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2008-09-05 06:52:07 +0000
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2008-09-05 06:52:07 +0000
commitfa9bbd3828177d050d31f555b5d2a7adbb039f98 (patch)
tree9545d764e7340c328369a867096a8d25c8fb6274
parenta0eace708d484b644cc98cf8b271635919426631 (diff)
downloadriscv-openocd-fa9bbd3828177d050d31f555b5d2a7adbb039f98.zip
riscv-openocd-fa9bbd3828177d050d31f555b5d2a7adbb039f98.tar.gz
riscv-openocd-fa9bbd3828177d050d31f555b5d2a7adbb039f98.tar.bz2
workaround and comment for problems identified by Michael Schwingen.
git-svn-id: svn://svn.berlios.de/openocd/trunk@979 b42882b7-edfa-0310-969c-e2dbd0fdcd60
-rw-r--r--src/target/cortex_swjdp.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/target/cortex_swjdp.c b/src/target/cortex_swjdp.c
index 0b20bf6..db92a91 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;