From fa9bbd3828177d050d31f555b5d2a7adbb039f98 Mon Sep 17 00:00:00 2001
From: oharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Date: Fri, 5 Sep 2008 06:52:07 +0000
Subject: 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(+)

(limited to 'src')

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;
-- 
cgit v1.2.3