incubator-nuttx/drivers/misc
wangjianyu3 a5b85fcd96 misc/rpmsgdev: Fix invalid pointer error when there are more than one remotes
Test: (see tests/testcases/rpmsgdev for details)
  # 1. Register dummy device
  testdev -d 0 -r "/dev/ttyGNSS0"
  # 2. Call rpmsgdev_export() to export the device to remote
  testdev -d 2 -c "droid" -l "/dev/ttyGNSS0"

Log:
  [ap] arm_busfault: PANIC!!! Bus Fault:
  [ap] arm_busfault:        IRQ: 5 regs: 0x3c434e44
  [ap] arm_busfault:        BASEPRI: 00000000 PRIMASK: 00000000 IPSR: 00000005 CONTROL: 00000004
  [ap] arm_busfault:        CFSR: 00008200 HFSR: 00000000 DFSR: 00000000 BFAR: 00000000 AFSR: 00040000
  [ap] arm_busfault: Bus Fault Reason:
  [ap] arm_busfault:        Precise data bus error
  [ap] dump_assert_info: Current Version: NuttX ****** ***** *** 12.3.0 ********** Sep 23 2024 18:35:50 arm
  [ap] dump_assert_info: Assertion failed panic: at file: armv8-m/arm_busfault.c:113 task: testdev process: testdev 0x2c86ca75

Backtrace:
  backtrace_unwind
  /workspace/nuttx/arch/arm/src/common/arm_backtrace_unwind.c:632
  sched_backtrace
  /workspace/nuttx/sched/sched/sched_backtrace.c:105
  sched_dumpstack
  /workspace/nuttx/libs/libc/sched/sched_dumpstack.c:69
  dump_running_task
  /workspace/nuttx/sched/misc/assert.c:629
  arm_busfault
  /workspace/nuttx/arch/arm/src/armv8-m/arm_busfault.c:113
  irq_dispatch
  /workspace/nuttx/sched/irq/irq_dispatch.c:142
  arm_doirq
  /workspace/nuttx/arch/arm/src/armv8-m/arm_doirq.c:95
  strcmp
  /workspace/nuttx/libs/libc/machine/arm/armv8-m/gnu/arch_strcmp.S:107
  rpmsgdev_server_created
  /workspace/nuttx/drivers/misc/rpmsgdev_server.c:520 (discriminator 1)
  rpmsg_register_callback
  /workspace/nuttx/drivers/rpmsg/rpmsg.c:245
  rpmsgdev_export
  /workspace/nuttx/drivers/misc/rpmsgdev_server.c:552
  _register_driver
  /workspace/tests/testcases/rpmsgdev/testdev.c:216
  nxtask_startup
  /workspace/nuttx/libs/libc/sched/task_startup.c:70
  nxtask_start
  /workspace/nuttx/sched/task/task_start.c:114

Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-09-23 23:59:12 +02:00
..
CMakeLists.txt cmake: add include path for special source 2023-11-07 17:39:03 +01:00
Kconfig drivers/misc: support nuttx goldfish_pipe 2024-09-15 19:28:55 +08:00
Make.defs drivers/misc: support nuttx goldfish_pipe 2024-09-15 19:28:55 +08:00
addrenv.c
dev_ascii.c
dev_mem.c dev_mem: Fix config judgment 2024-09-15 09:58:55 +08:00
dev_null.c poll: pollsetup should notify only one fd passd by caller 2023-11-21 09:07:17 +01:00
dev_zero.c poll: pollsetup should notify only one fd passd by caller 2023-11-21 09:07:17 +01:00
goldfish_pipe.c misc/goldfish: Compatible with x86_64 goldfish pipe 2024-09-15 19:28:55 +08:00
lwl_console.c
mkrd.c mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
optee.c enable O_CLOEXEC explicitly to avoid fd leak 2024-09-17 02:07:34 +08:00
optee_msg.h Remove @ and % tag from all comments 2023-12-11 17:00:10 -03:00
ramdisk.c drivers/ramdisk: add missing 'FAR' 2023-09-16 14:17:47 +08:00
rpmsgblk.c rpmsgblk: split multi_cmd only when it is too large to be placed into payload buffer 2024-09-13 09:26:35 +08:00
rpmsgblk.h rpmsgblk: use a fixed length struct to transfer between two cpus 2023-11-22 08:08:12 -08:00
rpmsgblk_server.c rpmsgblk: split multi_cmd only when it is too large to be placed into payload buffer 2024-09-13 09:26:35 +08:00
rpmsgdev.c nuttx: fix multiple 'FAR', 'CODE' and style issues 2024-08-25 19:22:15 +08:00
rpmsgdev.h rpmsgdev: support single read/write mode device 2023-08-11 15:29:32 +08:00
rpmsgdev_server.c misc/rpmsgdev: Fix invalid pointer error when there are more than one remotes 2024-09-23 23:59:12 +02:00
rwbuffer.c drivers/rwbuffer: Set nblocks 0 after using wrflush(skip rwbuffer) 2024-09-10 15:22:03 +08:00