From: Tarek BOCHKATI Date: Thu, 3 Jan 2019 17:16:45 +0000 (+0100) Subject: cortex_a_poll: minor code factorization to enhance readability X-Git-Tag: v0.11.0-rc1~874 X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=commitdiff_plain;h=63aa91701532451889e2bc0666cd3d81b825afff;hp=c915e705685ac45d99050e20273f132171145eda cortex_a_poll: minor code factorization to enhance readability cortex_a_debug_entry and update_halt_gdb are called in two consecutive conditions which are complementary, so externalizing the common code makes the conditions' body lighter With the removal of LOG_DEBUG(" ") since it does not look too informative Change-Id: I0c54e413619576bb3af164f2dcf256c5a862c5fd Signed-off-by: Tarek BOCHKATI Reviewed-on: http://openocd.zylin.com/4832 Reviewed-by: Tomas Vanek Tested-by: jenkins --- diff --git a/src/target/cortex_a.c b/src/target/cortex_a.c index 07644fa093..648317e492 100644 --- a/src/target/cortex_a.c +++ b/src/target/cortex_a.c @@ -725,39 +725,26 @@ static int cortex_a_poll(struct target *target) /* We have a halting debug event */ LOG_DEBUG("Target halted"); target->state = TARGET_HALTED; - if ((prev_target_state == TARGET_RUNNING) - || (prev_target_state == TARGET_UNKNOWN) - || (prev_target_state == TARGET_RESET)) { - retval = cortex_a_debug_entry(target); + + retval = cortex_a_debug_entry(target); + if (retval != ERROR_OK) + return retval; + + if (target->smp) { + retval = update_halt_gdb(target); if (retval != ERROR_OK) return retval; - if (target->smp) { - retval = update_halt_gdb(target); - if (retval != ERROR_OK) - return retval; - } + } + if (prev_target_state == TARGET_DEBUG_RUNNING) { + target_call_event_callbacks(target, TARGET_EVENT_DEBUG_HALTED); + } else { /* prev_target_state is RUNNING, UNKNOWN or RESET */ if (arm_semihosting(target, &retval) != 0) return retval; target_call_event_callbacks(target, TARGET_EVENT_HALTED); } - if (prev_target_state == TARGET_DEBUG_RUNNING) { - LOG_DEBUG(" "); - - retval = cortex_a_debug_entry(target); - if (retval != ERROR_OK) - return retval; - if (target->smp) { - retval = update_halt_gdb(target); - if (retval != ERROR_OK) - return retval; - } - - target_call_event_callbacks(target, - TARGET_EVENT_DEBUG_HALTED); - } } } else target->state = TARGET_RUNNING;