]> git.sur5r.net Git - openocd/commitdiff
adi_v5_jtag: make sure SSTICKYERR is cleared after a POR
authorMatthias Welwarsky <matthias.welwarsky@sysgo.com>
Thu, 12 Jan 2017 16:06:12 +0000 (17:06 +0100)
committerPaul Fertser <fercerpav@gmail.com>
Sun, 15 Jan 2017 11:00:32 +0000 (11:00 +0000)
Don't terminate the transaction end-check early if debug power-loss
was detected, without clearing SSTICKYERR.

Change-Id: I83b6a4a20523eea42e48a15297f972a730aa21a8
Signed-off-by: Matthias Welwarsky <matthias.welwarsky@sysgo.com>
Reviewed-on: http://openocd.zylin.com/3947
Tested-by: jenkins
Reviewed-by: Paul Fertser <fercerpav@gmail.com>
src/target/adi_v5_jtag.c

index 2717c9e369b796f0e58c5466601bf86693bd474f..c7dc4f7c988c4059bf9c81845b1ac559f397c8df 100644 (file)
@@ -574,8 +574,6 @@ static int jtagdp_transaction_endcheck(struct adiv5_dap *dap)
                if ((ctrlstat & (CDBGPWRUPREQ | CDBGPWRUPACK | CSYSPWRUPREQ | CSYSPWRUPACK)) !=
                                                (CDBGPWRUPREQ | CDBGPWRUPACK | CSYSPWRUPREQ | CSYSPWRUPACK)) {
                        LOG_ERROR("Debug regions are unpowered, an unexpected reset might have happened");
-                       retval = ERROR_JTAG_DEVICE_ERROR;
-                       goto done;
                }
 
                if (ctrlstat & SSTICKYERR)
@@ -590,10 +588,7 @@ static int jtagdp_transaction_endcheck(struct adiv5_dap *dap)
                if (retval != ERROR_OK)
                        goto done;
 
-               if (ctrlstat & SSTICKYERR) {
-                       retval = ERROR_JTAG_DEVICE_ERROR;
-                       goto done;
-               }
+               retval = ERROR_JTAG_DEVICE_ERROR;
        }
 
  done: