From fbbfbb2516a58b2ab866d713ef18c0a210bb647b Mon Sep 17 00:00:00 2001 From: Antonio Borneo Date: Mon, 3 Feb 2020 16:48:40 +0100 Subject: ftdi: flush mpsse queue after a level change on reset pins The function ftdi_set_signal() does not propagate the pin change until next call to mpsse_flush(). Current code does not toggles immediately the reset pins if polling is turned off. Call mpsse_flush() at the end of ftdi_reset(). While there, remove the duplicated LOG message. Change-Id: I79eacfe4fc32b5cdf2dc1b78f3660d96988466bc Fixes: 8850eb8f2c51 ("swd: get rid of jtag queue to assert/deassert srst") Reported-by: Leonard Crestez Signed-off-by: Antonio Borneo Reviewed-on: http://openocd.zylin.com/5431 Tested-by: jenkins Reviewed-by: Leonard Crestez Reviewed-by: Tomas Vanek --- src/jtag/drivers/ftdi.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/jtag/drivers/ftdi.c b/src/jtag/drivers/ftdi.c index a9cdbbe1..121cb469 100644 --- a/src/jtag/drivers/ftdi.c +++ b/src/jtag/drivers/ftdi.c @@ -550,8 +550,7 @@ static int ftdi_reset(int trst, int srst) ftdi_set_signal(sig_nsrst, 'z'); } - LOG_DEBUG_IO("trst: %i, srst: %i", trst, srst); - return ERROR_OK; + return mpsse_flush(mpsse_ctx); } static void ftdi_execute_sleep(struct jtag_command *cmd) -- cgit v1.2.3-18-g5258