This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit 9b736c1c275e986156744d762abe427ae0086d59 Author: Bowen Wang <[email protected]> AuthorDate: Mon Sep 11 11:33:27 2023 +0800 rpmsgfs_server: add error log for rpmsgfs server ept callback Because the rpmsg_virtio will assert when endpoint callback return error, so add more error log to the rpmsgfs server to help to locate the root cause. Signed-off-by: Bowen Wang <[email protected]> --- fs/rpmsgfs/rpmsgfs_server.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/fs/rpmsgfs/rpmsgfs_server.c b/fs/rpmsgfs/rpmsgfs_server.c index b0eb771463..e03e4cf03f 100644 --- a/fs/rpmsgfs/rpmsgfs_server.c +++ b/fs/rpmsgfs/rpmsgfs_server.c @@ -29,6 +29,7 @@ #include <string.h> #include <fcntl.h> #include <assert.h> +#include <debug.h> #include <errno.h> #include <nuttx/kmalloc.h> @@ -950,13 +951,21 @@ static int rpmsgfs_ept_cb(FAR struct rpmsg_endpoint *ept, { struct rpmsgfs_header_s *header = data; uint32_t command = header->command; + int ret; + + if (command >= nitems(g_rpmsgfs_handler)) + { + return -EINVAL; + } - if (command < nitems(g_rpmsgfs_handler)) + ret = g_rpmsgfs_handler[command](ept, data, len, src, priv); + if (ret < 0) { - return g_rpmsgfs_handler[command](ept, data, len, src, priv); + ferr("ERROR: handle failed, ept=%p cmd=%" PRIu32 " ret=%d\n", + ept, command, ret); } - return -EINVAL; + return ret; } int rpmsgfs_server_init(void)
