From ed6756fb23fc7383ec7a4a831a8750a6cf5eaa4e Mon Sep 17 00:00:00 2001
From: Øyvind Harboe <oyvind.harboe@zylin.com>
Date: Thu, 25 Mar 2010 13:06:23 +0100
Subject: target: fix poll off
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

I don't know when "poll off" broke, but "poll off" didn't
stop background polling of target. The polling status flag
simply wasn't checked in the handle_target timer callback.

All target polling(including power/reset state) is now stopped
upon "poll off".

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
---
 src/target/target.c | 6 ++++++
 1 file changed, 6 insertions(+)

(limited to 'src/target')

diff --git a/src/target/target.c b/src/target/target.c
index 2c88a6fd..868241eb 100644
--- a/src/target/target.c
+++ b/src/target/target.c
@@ -1784,6 +1784,12 @@ static int handle_target(void *priv)
 	Jim_Interp *interp = (Jim_Interp *)priv;
 	int retval = ERROR_OK;
 
+	if (!is_jtag_poll_safe())
+	{
+		/* polling is disabled currently */
+		return ERROR_OK;
+	}
+
 	/* we do not want to recurse here... */
 	static int recursive = 0;
 	if (! recursive)
-- 
cgit v1.2.3