From 1a87094e35c847e471d5e16747874da8cd25307a Mon Sep 17 00:00:00 2001 From: dongjiuzhu1 Date: Mon, 25 Nov 2024 17:34:52 +0800 Subject: [PATCH] drivers/rpmsg_rtc: don't rpmsg send for some core without rpmsg rtc client driver Avoid sending rpmsg messages to cores that don't have RTC client driver. Check endpoint availability before attempting to send messages. Signed-off-by: dongjiuzhu1 --- drivers/timers/rpmsg_rtc.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/timers/rpmsg_rtc.c b/drivers/timers/rpmsg_rtc.c index bbbb48608e4..b001f3fcb8e 100644 --- a/drivers/timers/rpmsg_rtc.c +++ b/drivers/timers/rpmsg_rtc.c @@ -747,6 +747,11 @@ static void rpmsg_rtc_server_ns_bound(FAR struct rpmsg_endpoint *ept) client = container_of(ept, struct rpmsg_rtc_client_s, ept); server = client->ept.priv; + + nxmutex_lock(&server->lock); + list_add_tail(&server->list, &client->node); + nxmutex_unlock(&server->lock); + rpmsg_rtc_server_sync(server, client); } @@ -774,10 +779,6 @@ static void rpmsg_rtc_server_created(FAR struct rpmsg_device *rdev, kmm_free(client); return; } - - nxmutex_lock(&server->lock); - list_add_tail(&server->list, &client->node); - nxmutex_unlock(&server->lock); } #endif