summaryrefslogtreecommitdiff
path: root/src/target/target.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/target/target.c')
-rw-r--r--src/target/target.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/target/target.c b/src/target/target.c
index 548ea0c3..050a523e 100644
--- a/src/target/target.c
+++ b/src/target/target.c
@@ -247,7 +247,23 @@ int target_process_reset(struct command_context_s *cmd_ctx)
{
int retval = ERROR_OK;
target_t *target;
-
+
+ /* prepare reset_halt where necessary */
+ target = targets;
+ while (target)
+ {
+ switch (target->reset_mode)
+ {
+ case RESET_HALT:
+ case RESET_INIT:
+ target->type->prepare_reset_halt(target);
+ break;
+ default:
+ break;
+ }
+ target = target->next;
+ }
+
target = targets;
while (target)
{