fix broken ir/drscan -endstate option. The statemachine now actually ends up in said state.
git-svn-id: svn://svn.berlios.de/openocd/trunk@1784 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
parent
0bb9c5de63
commit
651cb917e7
|
@ -2875,7 +2875,7 @@ static int handle_irscan_command(struct command_context_s *cmd_ctx, char *cmd, c
|
||||||
/* "statename" */
|
/* "statename" */
|
||||||
/* at the end of the arguments. */
|
/* at the end of the arguments. */
|
||||||
/* assume none. */
|
/* assume none. */
|
||||||
endstate = TAP_INVALID;
|
endstate = cmd_queue_end_state;
|
||||||
if( argc >= 4 ){
|
if( argc >= 4 ){
|
||||||
/* have at least one pair of numbers. */
|
/* have at least one pair of numbers. */
|
||||||
/* is last pair the magic text? */
|
/* is last pair the magic text? */
|
||||||
|
@ -2918,19 +2918,17 @@ static int handle_irscan_command(struct command_context_s *cmd_ctx, char *cmd, c
|
||||||
fields[i].in_value = NULL;
|
fields[i].in_value = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
jtag_add_ir_scan(num_fields, fields, TAP_INVALID);
|
|
||||||
/* did we have an endstate? */
|
/* did we have an endstate? */
|
||||||
if (endstate != TAP_INVALID)
|
jtag_add_ir_scan(num_fields, fields, endstate);
|
||||||
jtag_add_end_state(endstate);
|
|
||||||
|
|
||||||
jtag_execute_queue();
|
int retval=jtag_execute_queue();
|
||||||
|
|
||||||
for (i = 0; i < num_fields; i++)
|
for (i = 0; i < num_fields; i++)
|
||||||
free(fields[i].out_value);
|
free(fields[i].out_value);
|
||||||
|
|
||||||
free (fields);
|
free (fields);
|
||||||
|
|
||||||
return ERROR_OK;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int Jim_Command_drscan(Jim_Interp *interp, int argc, Jim_Obj *const *args)
|
static int Jim_Command_drscan(Jim_Interp *interp, int argc, Jim_Obj *const *args)
|
||||||
|
@ -2959,7 +2957,7 @@ static int Jim_Command_drscan(Jim_Interp *interp, int argc, Jim_Obj *const *args
|
||||||
}
|
}
|
||||||
|
|
||||||
/* assume no endstate */
|
/* assume no endstate */
|
||||||
endstate = TAP_INVALID;
|
endstate = cmd_queue_end_state;
|
||||||
/* validate arguments as numbers */
|
/* validate arguments as numbers */
|
||||||
e = JIM_OK;
|
e = JIM_OK;
|
||||||
for (i = 2; i < argc; i+=2)
|
for (i = 2; i < argc; i+=2)
|
||||||
|
@ -3031,10 +3029,7 @@ static int Jim_Command_drscan(Jim_Interp *interp, int argc, Jim_Obj *const *args
|
||||||
field_count++;
|
field_count++;
|
||||||
}
|
}
|
||||||
|
|
||||||
jtag_add_dr_scan(num_fields, fields, TAP_INVALID);
|
jtag_add_dr_scan(num_fields, fields, endstate);
|
||||||
/* did we get an end state? */
|
|
||||||
if (endstate != TAP_INVALID)
|
|
||||||
jtag_add_end_state(endstate);
|
|
||||||
|
|
||||||
retval = jtag_execute_queue();
|
retval = jtag_execute_queue();
|
||||||
if (retval != ERROR_OK)
|
if (retval != ERROR_OK)
|
||||||
|
|
Loading…
Reference in New Issue