From 796fa81a2b361fa0606f141906734672c910b343 Mon Sep 17 00:00:00 2001 From: drath Date: Wed, 27 Feb 2008 06:59:35 +0000 Subject: [PATCH] - fix bug in ft2232 pathmove (thanks to Michael Bruck for the patch) git-svn-id: svn://svn.berlios.de/openocd/trunk@357 b42882b7-edfa-0310-969c-e2dbd0fdcd60 --- src/jtag/ft2232.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/jtag/ft2232.c b/src/jtag/ft2232.c index d5c4af25..1a058675 100644 --- a/src/jtag/ft2232.c +++ b/src/jtag/ft2232.c @@ -459,12 +459,14 @@ void ft2232_add_pathmove(pathmove_command_t *cmd) tms_byte = 0x0; int bit_count = 0; + int num_states_batch = num_states > 7 ? 7 : num_states; + /* command "Clock Data to TMS/CS Pin (no Read)" */ BUFFER_ADD = 0x4b; /* number of states remaining */ - BUFFER_ADD = (num_states % 7) - 1; + BUFFER_ADD = num_states_batch - 1; - while (num_states % 7) + while (num_states_batch--) { if (tap_transitions[cur_state].low == cmd->path[state_count]) buf_set_u32(&tms_byte, bit_count++, 1, 0x0); -- 2.39.5