From 75ba7397b23ceb162f450fa903d372b42492a8cc Mon Sep 17 00:00:00 2001
From: oharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Date: Thu, 31 Jul 2008 15:52:01 +0000
Subject: [PATCH] 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(-)

diff --git a/src/target/target.c b/src/target/target.c
index c2fce59d6..02016e774 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;
-- 
GitLab