diff options
Diffstat (limited to 'src/jtag/jtag.c')
-rw-r--r-- | src/jtag/jtag.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/jtag/jtag.c b/src/jtag/jtag.c index 0733789f..2c53f9f4 100644 --- a/src/jtag/jtag.c +++ b/src/jtag/jtag.c @@ -773,13 +773,16 @@ void jtag_add_reset(int req_tlr_or_trst, int req_srst) } } -void jtag_add_end_state(tap_state_t state) +tap_state_t jtag_add_end_state(tap_state_t state) { - cmd_queue_end_state = state; - if ((cmd_queue_end_state == TAP_DRSHIFT)||(cmd_queue_end_state == TAP_IRSHIFT)) + if ((state == TAP_DRSHIFT)||(state == TAP_IRSHIFT)) { LOG_ERROR("BUG: TAP_DRSHIFT/IRSHIFT can't be end state. Calling code should use a larger scan field"); } + + if (state!=TAP_INVALID) + cmd_queue_end_state = state; + return cmd_queue_end_state; } void jtag_add_sleep(u32 us) |