X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Fjtag%2Fdriver.c;h=3bce5d5755a183c9f59ca5fa1d94fa1b993a9ae3;hb=d70d9634bf6ab73ec4f2ac1e77012785770b460a;hp=1555561d6c3629c9be53f5e3c7011f0e6bb1aa54;hpb=84df52f9ea78e2d71bde648a16b69d80404c6421;p=openocd.git diff --git a/src/jtag/driver.c b/src/jtag/driver.c index 1555561d6c..3bce5d5755 100644 --- a/src/jtag/driver.c +++ b/src/jtag/driver.c @@ -418,7 +418,7 @@ int interface_jtag_add_runtest(int num_cycles, tap_state_t state) return ERROR_OK; } -int interface_jtag_add_clocks( int num_cycles ) +int interface_jtag_add_clocks(int num_cycles) { /* allocate memory for a new list member */ jtag_command_t * cmd = cmd_queue_alloc(sizeof(jtag_command_t)); @@ -489,6 +489,11 @@ void interface_jtag_add_callback4(jtag_callback_t callback, jtag_callback_data_t int interface_jtag_execute_queue(void) { + static int reentry = 0; + + assert(reentry==0); + reentry++; + int retval = default_interface_jtag_execute_queue(); if (retval == ERROR_OK) { @@ -504,6 +509,8 @@ int interface_jtag_execute_queue(void) jtag_command_queue_reset(); jtag_callback_queue_reset(); + reentry--; + return retval; }