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)

Reply via email to