aboutsummaryrefslogtreecommitdiff
path: root/src/jtag/drivers/arm-jtag-ew.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/jtag/drivers/arm-jtag-ew.c')
-rw-r--r--src/jtag/drivers/arm-jtag-ew.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/jtag/drivers/arm-jtag-ew.c b/src/jtag/drivers/arm-jtag-ew.c
index 35b6b929..16245102 100644
--- a/src/jtag/drivers/arm-jtag-ew.c
+++ b/src/jtag/drivers/arm-jtag-ew.c
@@ -355,7 +355,10 @@ static void armjtagew_scan(bool ir_scan,
/* Move to appropriate scan state */
armjtagew_end_state(ir_scan ? TAP_IRSHIFT : TAP_DRSHIFT);
- armjtagew_state_move();
+ /* Only move if we're not already there */
+ if (tap_get_state() != tap_get_end_state())
+ armjtagew_state_move();
+
armjtagew_end_state(saved_end_state);
/* Scan */