aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/target/target.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/target/target.c b/src/target/target.c
index d7a2c481..b74c6a0c 100644
--- a/src/target/target.c
+++ b/src/target/target.c
@@ -2425,7 +2425,13 @@ static int handle_target(void *priv)
if (target->backoff.times > 0) {
LOG_USER("Polling target %s succeeded again, trying to reexamine", target_name(target));
target_reset_examined(target);
- target_examine_one(target);
+ retval = target_examine_one(target);
+ /* Target examination could have failed due to unstable connection,
+ * but we set the examined flag anyway to repoll it later */
+ if (retval != ERROR_OK) {
+ target->examined = true;
+ return retval;
+ }
}
target->backoff.times = 0;