From df7a6b08a69cdf13d4a0adc9b6fc9e56cdcaa18e Mon Sep 17 00:00:00 2001 From: Roman Reichel Date: Tue, 15 Jan 2013 23:13:08 +0100 Subject: [PATCH] opendous: Inhibit unnecessary state transitions When current tap state and end state are the same, transitions are added which is not what should happen. The usbprog driver was already patched like this long time ago. Change-Id: I339e87156bdc7b5c83c10c14025b749605d3871a Signed-off-by: Roman Reichel Reviewed-on: http://openocd.zylin.com/1113 Tested-by: jenkins Reviewed-by: Spencer Oliver --- src/jtag/drivers/opendous.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/jtag/drivers/opendous.c b/src/jtag/drivers/opendous.c index 1b74bd5a49..3a6cf5c693 100644 --- a/src/jtag/drivers/opendous.c +++ b/src/jtag/drivers/opendous.c @@ -422,7 +422,9 @@ void opendous_scan(int ir_scan, enum scan_type type, uint8_t *buffer, int scan_s /* Move to appropriate scan state */ opendous_end_state(ir_scan ? TAP_IRSHIFT : TAP_DRSHIFT); - opendous_state_move(); + if (tap_get_state() != tap_get_end_state()) + opendous_state_move(); + opendous_end_state(saved_end_state); /* Scan */ -- 2.30.2