From 31664023f94b665024d088a84e8ed2efb7fcc4a7 Mon Sep 17 00:00:00 2001 From: yintao Date: Tue, 25 Feb 2025 19:33:57 +0800 Subject: [PATCH] drivers/rpmsg_router: avoid rpmsg:cpu failed to bind dest nxsig_clockwait /home/work/data/miui_codes/build_home_rom/nuttx/sched/signal/sig_timedwait.c:329 (discriminator 1) nxsig_clockwait /home/work/data/miui_codes/build_home_rom/nuttx/sched/signal/sig_timedwait.c:320 nxsig_nanosleep /home/work/data/miui_codes/build_home_rom/nuttx/sched/signal/sig_nanosleep.c:96 nxsig_usleep /home/work/data/miui_codes/build_home_rom/nuttx/sched/signal/sig_usleep.c:84 __metal_sleep_usec /home/work/data/miui_codes/build_home_rom/nuttx/drivers/../include/metal/system/nuttx/sleep.h:27 rpmsg_device_destory /home/work/data/miui_codes/build_home_rom/nuttx/drivers/rpmsg/rpmsg.c:473 rpmsg_port_unregister /home/work/data/miui_codes/build_home_rom/nuttx/drivers/rpmsg/rpmsg_port.c:751 rpmsg_port_spi_process_packet /home/work/data/miui_codes/build_home_rom/nuttx/drivers/rpmsg/rpmsg_port_spi.c:572 nxtask_start /home/work/data/miui_codes/build_home_rom/nuttx/sched/task/task_start.c:111 Signed-off-by: yintao --- drivers/rpmsg/rpmsg_router_hub.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/rpmsg/rpmsg_router_hub.c b/drivers/rpmsg/rpmsg_router_hub.c index a3e6f8f33b7..8680ecb293f 100644 --- a/drivers/rpmsg/rpmsg_router_hub.c +++ b/drivers/rpmsg/rpmsg_router_hub.c @@ -483,8 +483,12 @@ static void rpmsg_router_destroy(FAR struct rpmsg_device *rdev, /* Notify the other edge core to destroy router device */ - msg.cmd = RPMSG_ROUTER_DESTROY; - rpmsg_send(&hub->ept[1 - i], &msg, sizeof(msg)); + if (is_rpmsg_ept_ready(&hub->ept[1 - i])) + { + msg.cmd = RPMSG_ROUTER_DESTROY; + rpmsg_send(&hub->ept[1 - i], &msg, sizeof(msg)); + } + break; } }