From 09614074b7eafe413935059d19dcc8df020131ab Mon Sep 17 00:00:00 2001
From: oharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Date: Thu, 16 Oct 2008 12:20:11 +0000
Subject: [PATCH] more robust error reporting for DCC

git-svn-id: svn://svn.berlios.de/openocd/trunk@1068 b42882b7-edfa-0310-969c-e2dbd0fdcd60
---
 src/target/arm7_9_common.c | 4 ++++
 src/target/armv4_5.c       | 3 +++
 2 files changed, 7 insertions(+)

diff --git a/src/target/arm7_9_common.c b/src/target/arm7_9_common.c
index a814d2e97..a9f06df0b 100644
--- a/src/target/arm7_9_common.c
+++ b/src/target/arm7_9_common.c
@@ -2282,6 +2282,10 @@ static int arm7_9_dcc_completion(struct target_s *target, u32 exit_point, int ti
 	int retval = ERROR_OK;
 	armv4_5_common_t *armv4_5 = target->arch_info;
 	arm7_9_common_t *arm7_9 = armv4_5->arch_info;
+
+	if ((retval=target_wait_state(target, TARGET_DEBUG_RUNNING, 500))!=ERROR_OK)
+		return retval;
+
 	int little=target->endianness==TARGET_LITTLE_ENDIAN;
 	int count=dcc_count;
 	u8 *buffer=dcc_buffer;
diff --git a/src/target/armv4_5.c b/src/target/armv4_5.c
index c4637aee4..bd9ea8e80 100644
--- a/src/target/armv4_5.c
+++ b/src/target/armv4_5.c
@@ -612,6 +612,9 @@ int armv4_5_run_algorithm_inner(struct target_s *target, int num_mem_params, mem
 
 	breakpoint_remove(target, exit_point);
 
+	if (retval!=ERROR_OK)
+		return retval;
+
 	for (i = 0; i < num_mem_params; i++)
 	{
 		if (mem_params[i].direction != PARAM_OUT)
-- 
GitLab