From 441914978d1b0debc2c40ef5a660165d53baad27 Mon Sep 17 00:00:00 2001
From: Yann Vernier <yann.vernier@orsoc.se>
Date: Tue, 11 Dec 2012 12:52:24 +0100
Subject: [PATCH] ft2232: fix input scan ending in drshift/irshift

The final bit was incorrectly added as output data, even if no data was
to be written. Changed it to match handling of other bits.

Change-Id: I91e5ba0c932876bfb579c22e6c7ef0300baa1534
Signed-off-by: Yann Vernier <yann.vernier@orsoc.se>
Reviewed-on: http://openocd.zylin.com/1049
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
---
 src/jtag/drivers/ft2232.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/jtag/drivers/ft2232.c b/src/jtag/drivers/ft2232.c
index 9a40ed9a5..4b3360fe7 100644
--- a/src/jtag/drivers/ft2232.c
+++ b/src/jtag/drivers/ft2232.c
@@ -1061,7 +1061,8 @@ static void ft2232_add_scan(bool ir_scan, enum scan_type type, uint8_t *buffer,
 			/* LOG_DEBUG("added TDI bits (i %i)", bits_left - 1); */
 		}
 		buffer_write(0x0);
-		buffer_write(last_bit);
+		if (type != SCAN_IN)
+			buffer_write(last_bit);
 	} else {
 		int tms_bits;
 		int tms_count;
-- 
GitLab