diff --git a/src/target/cortex_m.c b/src/target/cortex_m.c index 6fba9259b..9521085b1 100644 --- a/src/target/cortex_m.c +++ b/src/target/cortex_m.c @@ -989,7 +989,8 @@ static int cortex_m3_assert_reset(struct target *target) bool srst_asserted = false; - if (jtag_reset_config & RESET_SRST_NO_GATING) { + if ((jtag_reset_config & RESET_HAS_SRST) && + (jtag_reset_config & RESET_SRST_NO_GATING)) { adapter_assert_reset(); srst_asserted = true; } diff --git a/src/target/hla_target.c b/src/target/hla_target.c index 65e056863..4564d46c9 100644 --- a/src/target/hla_target.c +++ b/src/target/hla_target.c @@ -428,7 +428,8 @@ static int adapter_assert_reset(struct target *target) bool srst_asserted = false; - if (jtag_reset_config & RESET_SRST_NO_GATING) { + if ((jtag_reset_config & RESET_HAS_SRST) && + (jtag_reset_config & RESET_SRST_NO_GATING)) { jtag_add_reset(0, 1); res = adapter->layout->api->assert_srst(adapter->fd, 0); srst_asserted = true;