workaround and comment for problems identified by Michael Schwingen.
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Fri, 5 Sep 2008 06:52:07 +0000 (06:52 +0000)
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Fri, 5 Sep 2008 06:52:07 +0000 (06:52 +0000)
git-svn-id: svn://svn.berlios.de/openocd/trunk@979 b42882b7-edfa-0310-969c-e2dbd0fdcd60

src/target/cortex_swjdp.c

index 0b20bf6316e9e7491c9802aae4e3092e4848308a..db92a91fe2ffacbc3b247d25b97326045fbb312c 100644 (file)
@@ -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;