diff --git a/drivers/ub/sentry/sentry_remote_client.c b/drivers/ub/sentry/sentry_remote_client.c index e15b41d133cb876066c28910f7e6d97b2123faff..ed4ac35cc718b432cf32d0fc77c3ef92eb52e658 100644 --- a/drivers/ub/sentry/sentry_remote_client.c +++ b/drivers/ub/sentry/sentry_remote_client.c @@ -229,10 +229,7 @@ int remote_event_handler(enum sentry_msg_helper_msg_type remote_type, ack_done = get_ack_done(&sentry_remote_ctx.remote_event_ack_msg_buf, remote_ack_type, COMM_TYPE_UNKNOWN); spin_unlock(&sentry_buf_lock); - if (ack_done) { - pr_info("Receive ack message, stop blocking early\n"); - break; - } + goto check_ack_and_sleep; } /* Handle acknowledgment in panic mode */ if (uvb_send_success) { @@ -262,7 +259,7 @@ int remote_event_handler(enum sentry_msg_helper_msg_type remote_type, recv_msg_nodes = urma_recv(sentry_client_ctx.msg_str, URMA_SEND_DATA_MAX_LEN); if (recv_msg_nodes <= 0) - continue; + goto check_ack_and_sleep; pr_info("urma received %d nodes\n", recv_msg_nodes); for (int l = 0; l < recv_msg_nodes; l++) { struct sentry_msg_helper_msg msg; @@ -287,6 +284,7 @@ int remote_event_handler(enum sentry_msg_helper_msg_type remote_type, } } +check_ack_and_sleep: /* Check if acknowledgment received */ if (ack_done) { pr_info("Receive ack message, stop blocking early\n");