Skip to content

fs: rpmsgfs_client: process host message as ns_announcement#18671

Open
AndreHeinemans-NXP wants to merge 1 commit intoapache:masterfrom
NXP-Robotics:rpmgsfs-connect-at-first-message
Open

fs: rpmsgfs_client: process host message as ns_announcement#18671
AndreHeinemans-NXP wants to merge 1 commit intoapache:masterfrom
NXP-Robotics:rpmgsfs-connect-at-first-message

Conversation

@AndreHeinemans-NXP
Copy link
Copy Markdown
Contributor

Summary

Threat unsolicited messages from the host as ns_announcement messages. It unlocks the client flow by calling rpmsg_post() on the semaphore. Without this or an NS announcement, the client's semaphore will wait forever.

This is practical when the server side is running from linux userspace using ioctl where controlling NS announcements is problematic. When exporting a channel by ioctl, no NS announcements are sent. So instead, a message from the server daemon will do the trick.

Impact

Targets using CONFIG_FS_RPMSGFS

Testing

Tested on

  • mr-navq95b:rpmsg running on M7.
  • Linux-imx running on A55 and running rpmsgfs-server daemon

rpmsgfs-server is functional but there is still some work in progress. It is an alternative to the rpmsgfs linux kernel driver.

Threat unsolicited messages from the host as ns_announcement messages.
It unlocks the client flow by calling rpmsg_post() on the semaphore.
Without this or an NS announcement, the client's semaphore will wait
forever.

This is practical when the server side is running from linux userspace
using ioctl where controlling NS announcements is problematic.

Signed-off-by: Andre Heinemans <andre.heinemans@nxp.com>
@github-actions github-actions bot added Area: File System File System issues Size: S The size of the change in this PR is small labels Apr 3, 2026
return -ENOMEM;
}

priv->connected = false;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

don't need

static void rpmsgfs_set_connected(struct rpmsg_endpoint *ept)
{
FAR struct rpmsgfs_s *priv = ept->priv;
priv->connected = true;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

but when connected is reset to false

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: File System File System issues Size: S The size of the change in this PR is small

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants