From 99e9c2c7f3d2444e930dbfb20dd439247fc897ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnim=20L=C3=A4uger?= Date: Sat, 16 Feb 2008 17:21:02 +0000 Subject: [PATCH] fix inconsistency of TDO caching in ft2232_flush() targets 1894967 git-svn-id: https://urjtag.svn.sourceforge.net/svnroot/urjtag/trunk@1031 b68d4a1b-bc3d-0410-92ed-d4ac073336b7 --- jtag/ChangeLog | 2 ++ jtag/src/tap/cable/ft2232.c | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/jtag/ChangeLog b/jtag/ChangeLog index a5f92376..e293b2c1 100644 --- a/jtag/ChangeLog +++ b/jtag/ChangeLog @@ -1,5 +1,7 @@ 2008-02-16 Arnim Laeuger + * src/tap/cable/ft2232.c (ft2232_flush): fix inconsistency of TDO caching + in ft2232_flush() * THANKS: to the original SVF and BSDL parser programmers 2008-02-16 Kolja Waschk diff --git a/jtag/src/tap/cable/ft2232.c b/jtag/src/tap/cable/ft2232.c index 9ccd3985..996358f1 100644 --- a/jtag/src/tap/cable/ft2232.c +++ b/jtag/src/tap/cable/ft2232.c @@ -865,7 +865,7 @@ ft2232_flush( cable_t *cable, cable_flush_amount_t how_much ) while (j != i) { switch (cable->todo.data[j].action) { case CABLE_CLOCK: - last_tdo_valid_finish = 0; + params->last_tdo_valid = last_tdo_valid_finish = 0; break; case CABLE_GET_TDO: { @@ -875,7 +875,7 @@ ft2232_flush( cable_t *cable, cable_flush_amount_t how_much ) tdo = params->last_tdo; else tdo = ft2232_get_tdo_finish( cable ); - last_tdo_valid_finish = 1; + last_tdo_valid_finish = params->last_tdo_valid; m = cable_add_queue_item( cable, &(cable->done) ); cable->done.data[m].action = CABLE_GET_TDO; cable->done.data[m].arg.value.tdo = tdo; @@ -886,7 +886,7 @@ ft2232_flush( cable_t *cable, cable_flush_amount_t how_much ) int m = cable_add_queue_item( cable, &(cable->done) ); cable->done.data[m].action = CABLE_SET_TRST; cable->done.data[m].arg.value.trst = cable->done.data[j].arg.value.trst; - last_tdo_valid_finish = 0; + params->last_tdo_valid = last_tdo_valid_finish = 0; } case CABLE_GET_TRST: {