From 8c00d38e40a6d63dea74afe8ed39eed81b1643a8 Mon Sep 17 00:00:00 2001 From: shixuantong Date: Thu, 18 Dec 2025 17:31:13 +0800 Subject: [PATCH] add check ack msg and do sleep drivers inclusion category: bugfix bugzilla: https://gitee.com/src-openeuler/kernel/issues/IDE44B?from=project-issue -------------------------------- add check ack msg and do sleep, otherwise, the block will end prematurely. Fixes: f1edc5dcf26f ("drivers/ub/sentry: add sentry_remote_reporter module") Signed-off-by: shixuantong Signed-off-by: guodashun --- drivers/ub/sentry/sentry_remote_client.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/ub/sentry/sentry_remote_client.c b/drivers/ub/sentry/sentry_remote_client.c index e15b41d133cb..ed4ac35cc718 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"); -- Gitee