From 28e2ca5d2332e445fe836baae9abfa86222a5216 Mon Sep 17 00:00:00 2001 From: yintao Date: Sat, 28 Jun 2025 19:00:37 +0800 Subject: [PATCH] drivers/rpmsg_router: Distinguish NS_CREATE or NS_ACK for rpmsg_router_edge If ns_msg->flags == RPMSG_NS_CREATE_ACK, means already know peer's address so direclty use usr_ept->dest_addr Signed-off-by: yintao --- drivers/rpmsg/rpmsg_router_edge.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/rpmsg/rpmsg_router_edge.c b/drivers/rpmsg/rpmsg_router_edge.c index 42c737c35af..e2711e9830b 100644 --- a/drivers/rpmsg/rpmsg_router_edge.c +++ b/drivers/rpmsg/rpmsg_router_edge.c @@ -466,7 +466,9 @@ rpmsg_router_edge_send_offchannel_raw(FAR struct rpmsg_device *rdev, /* Create endpoint (r:cpu:name) for real communication */ ret = rpmsg_create_ept(ept, hubdev, ns_msg->name, - RPMSG_ADDR_ANY, RPMSG_ADDR_ANY, + RPMSG_ADDR_ANY, + ns_msg->flags == RPMSG_NS_CREATE_ACK ? + usr_ept->dest_addr : RPMSG_ADDR_ANY, rpmsg_router_edge_cb, rpmsg_router_edge_unbind); if (ret < 0)