]> www.infradead.org Git - users/borneoa/openocd-next.git/commitdiff
target/cortex_m: call adapter_deassert_reset() only if srst is configured
authorTomas Vanek <vanekt@fbl.cz>
Tue, 28 Jan 2025 19:43:33 +0000 (20:43 +0100)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sun, 16 Feb 2025 16:30:28 +0000 (16:30 +0000)
Deasserting is useless if reset was not asserted except the very corner
case: changed reset_config during reset processing.

Change-Id: I1d1ea142980d67293daa348a2869b68ffd78d0eb
Signed-off-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-on: https://review.openocd.org/c/openocd/+/8734
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Tested-by: jenkins
src/target/cortex_m.c

index 2cea203a29f779d6c46cab03d34faae0454ba92d..9314d6675ff7469a487dbda42266731d38f6d239 100644 (file)
@@ -1849,10 +1849,12 @@ static int cortex_m_deassert_reset(struct target *target)
                target_state_name(target),
                target_was_examined(target) ? "" : " not");
 
+       enum reset_types jtag_reset_config = jtag_get_reset_config();
+
        /* deassert reset lines */
-       adapter_deassert_reset();
+       if (jtag_reset_config & RESET_HAS_SRST)
+               adapter_deassert_reset();
 
-       enum reset_types jtag_reset_config = jtag_get_reset_config();
 
        if ((jtag_reset_config & RESET_HAS_SRST) &&
                !(jtag_reset_config & RESET_SRST_NO_GATING) &&