From 75ba7397b23ceb162f450fa903d372b42492a8cc Mon Sep 17 00:00:00 2001 From: oharboe Date: Thu, 31 Jul 2008 15:52:01 +0000 Subject: wait up to 1 second for halted state upon reset init/halt. git-svn-id: svn://svn.berlios.de/openocd/trunk@884 b42882b7-edfa-0310-969c-e2dbd0fdcd60 --- src/target/target.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/target/target.c b/src/target/target.c index c2fce59d..02016e77 100644 --- a/src/target/target.c +++ b/src/target/target.c @@ -335,11 +335,15 @@ int target_process_reset(struct command_context_s *cmd_ctx, enum target_reset_mo { target->type->deassert_reset(target); /* We can fail to bring the target into the halted state */ - target_poll(target); - if (target->reset_halt&&((target->state != TARGET_HALTED))) + if (target->reset_halt) { - LOG_WARNING("Failed to reset target into halted mode - issuing halt"); - target->type->halt(target); + /* wait up to 1 second for halt. */ + target_wait_state(target, TARGET_HALTED, 1000); + if (target->state != TARGET_HALTED) + { + LOG_WARNING("Failed to reset target into halted mode - issuing halt"); + target->type->halt(target); + } } target = target->next; -- cgit v1.2.3