X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fjtag%2Fjtag.c;h=b177c8e2434d9f41b2ea7b0d9348b9b1084bc035;hp=291c40107c791e4e6c9b5298c9be8bbc2445ed2a;hb=2585fc34200938fb3fa55a450ea37f68012aafa7;hpb=a0647227439434c4a71470e336ec8715d43d0501 diff --git a/src/jtag/jtag.c b/src/jtag/jtag.c index 291c40107c..b177c8e243 100644 --- a/src/jtag/jtag.c +++ b/src/jtag/jtag.c @@ -361,6 +361,7 @@ void* cmd_queue_alloc(size_t size) { cmd_queue_page_t **p_page = &cmd_queue_pages; int offset; + u8 *t; if (*p_page) { @@ -381,7 +382,7 @@ void* cmd_queue_alloc(size_t size) offset = (*p_page)->used; (*p_page)->used += size; - u8 *t=(u8 *)((*p_page)->address); + t=(u8 *)((*p_page)->address); return t + offset; } @@ -425,9 +426,11 @@ static void jtag_prelude(enum tap_state state) void jtag_add_ir_scan(int num_fields, scan_field_t *fields, enum tap_state state) { + int retval; + jtag_prelude(state); - int retval=interface_jtag_add_ir_scan(num_fields, fields, cmd_queue_end_state); + retval=interface_jtag_add_ir_scan(num_fields, fields, cmd_queue_end_state); if (retval!=ERROR_OK) jtag_error=retval; } @@ -511,9 +514,11 @@ int MINIDRIVER(interface_jtag_add_ir_scan)(int num_fields, scan_field_t *fields, void jtag_add_plain_ir_scan(int num_fields, scan_field_t *fields, enum tap_state state) { + int retval; + jtag_prelude(state); - int retval=interface_jtag_add_plain_ir_scan(num_fields, fields, cmd_queue_end_state); + retval=interface_jtag_add_plain_ir_scan(num_fields, fields, cmd_queue_end_state); if (retval!=ERROR_OK) jtag_error=retval; } @@ -557,9 +562,11 @@ int MINIDRIVER(interface_jtag_add_plain_ir_scan)(int num_fields, scan_field_t *f void jtag_add_dr_scan(int num_fields, scan_field_t *fields, enum tap_state state) { + int retval; + jtag_prelude(state); - int retval=interface_jtag_add_dr_scan(num_fields, fields, cmd_queue_end_state); + retval=interface_jtag_add_dr_scan(num_fields, fields, cmd_queue_end_state); if (retval!=ERROR_OK) jtag_error=retval; } @@ -742,9 +749,11 @@ void MINIDRIVER(interface_jtag_add_dr_out)(int device_num, void jtag_add_plain_dr_scan(int num_fields, scan_field_t *fields, enum tap_state state) { + int retval; + jtag_prelude(state); - int retval=interface_jtag_add_plain_dr_scan(num_fields, fields, cmd_queue_end_state); + retval=interface_jtag_add_plain_dr_scan(num_fields, fields, cmd_queue_end_state); if (retval!=ERROR_OK) jtag_error=retval; } @@ -815,6 +824,10 @@ int MINIDRIVER(interface_jtag_add_tlr)() void jtag_add_pathmove(int num_states, enum tap_state *path) { + enum tap_state cur_state=cmd_queue_cur_state; + int i; + int retval; + /* the last state has to be a stable state */ if (tap_move_map[path[num_states - 1]] == -1) { @@ -822,8 +835,6 @@ void jtag_add_pathmove(int num_states, enum tap_state *path) exit(-1); } - enum tap_state cur_state=cmd_queue_cur_state; - int i; for (i=0; i