summaryrefslogtreecommitdiff
path: root/src/jtag/jtag.c
diff options
context:
space:
mode:
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2009-06-04 12:52:54 +0000
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2009-06-04 12:52:54 +0000
commit9e8dce64fc0c7e9e58d2101a5108e49da2af6bbd (patch)
treef07fefd32a8fa49dd16d47cfc8f84f4452fe7241 /src/jtag/jtag.c
parent89e9d86a565820edd56e4a3eecfc0163a6e97b32 (diff)
downloadopenocd_libswd-9e8dce64fc0c7e9e58d2101a5108e49da2af6bbd.tar.gz
openocd_libswd-9e8dce64fc0c7e9e58d2101a5108e49da2af6bbd.tar.bz2
openocd_libswd-9e8dce64fc0c7e9e58d2101a5108e49da2af6bbd.tar.xz
openocd_libswd-9e8dce64fc0c7e9e58d2101a5108e49da2af6bbd.zip
do not modify global end state from jtag_add_xxx()
git-svn-id: svn://svn.berlios.de/openocd/trunk@2047 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src/jtag/jtag.c')
-rw-r--r--src/jtag/jtag.c20
1 files changed, 8 insertions, 12 deletions
diff --git a/src/jtag/jtag.c b/src/jtag/jtag.c
index 5738a0dc..263b7665 100644
--- a/src/jtag/jtag.c
+++ b/src/jtag/jtag.c
@@ -396,9 +396,7 @@ static void jtag_prelude(tap_state_t state)
assert(state!=TAP_INVALID);
- jtag_add_end_state(state);
-
- cmd_queue_cur_state = cmd_queue_end_state;
+ cmd_queue_cur_state = state;
}
void jtag_alloc_in_value32(scan_field_t *field)
@@ -411,7 +409,7 @@ void jtag_add_ir_scan_noverify(int in_num_fields, const scan_field_t *in_fields,
int retval;
jtag_prelude(state);
- retval=interface_jtag_add_ir_scan(in_num_fields, in_fields, cmd_queue_end_state);
+ retval=interface_jtag_add_ir_scan(in_num_fields, in_fields, state);
if (retval!=ERROR_OK)
jtag_error=retval;
@@ -460,7 +458,7 @@ void jtag_add_plain_ir_scan(int in_num_fields, const scan_field_t *in_fields, ta
jtag_prelude(state);
- retval=interface_jtag_add_plain_ir_scan(in_num_fields, in_fields, cmd_queue_end_state);
+ retval=interface_jtag_add_plain_ir_scan(in_num_fields, in_fields, state);
if (retval!=ERROR_OK)
jtag_error=retval;
}
@@ -548,7 +546,7 @@ void jtag_add_dr_scan(int in_num_fields, const scan_field_t *in_fields, tap_stat
jtag_prelude(state);
- retval=interface_jtag_add_dr_scan(in_num_fields, in_fields, cmd_queue_end_state);
+ retval=interface_jtag_add_dr_scan(in_num_fields, in_fields, state);
if (retval!=ERROR_OK)
jtag_error=retval;
}
@@ -567,7 +565,7 @@ void jtag_add_plain_dr_scan(int in_num_fields, const scan_field_t *in_fields, ta
jtag_prelude(state);
- retval=interface_jtag_add_plain_dr_scan(in_num_fields, in_fields, cmd_queue_end_state);
+ retval=interface_jtag_add_plain_dr_scan(in_num_fields, in_fields, state);
if (retval!=ERROR_OK)
jtag_error=retval;
}
@@ -578,13 +576,11 @@ void jtag_add_dr_out(jtag_tap_t* tap,
{
assert(end_state != TAP_INVALID);
- cmd_queue_end_state = end_state;
-
- cmd_queue_cur_state = cmd_queue_end_state;
+ cmd_queue_cur_state = end_state;
interface_jtag_add_dr_out(tap,
num_fields, num_bits, value,
- cmd_queue_end_state);
+ end_state);
}
void jtag_add_tlr(void)
@@ -644,7 +640,7 @@ void jtag_add_runtest(int num_cycles, tap_state_t state)
jtag_prelude(state);
/* executed by sw or hw fifo */
- retval=interface_jtag_add_runtest(num_cycles, cmd_queue_end_state);
+ retval=interface_jtag_add_runtest(num_cycles, state);
if (retval!=ERROR_OK)
jtag_error=retval;
}