This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM62P:j721e-csi2rx 30102000.ticsi2rx:无法为 DMA ret:-5排队等待下一个缓冲区

Guru**** 2343840 points
Other Parts Discussed in Thread: AM62P
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1511805/am62p-j721e-csi2rx-30102000-ticsi2rx-failed-to-queue-the-next-buffer-for-dma-ret--5

部件号:AM62P

工具/软件:

我编写一个应用程序来实现带有4个 CSI-2摄像头的环视系统。我使用 V4L2获取摄像头数据、使用 GPU 渲染数据、CPU 也会同时处理数据。
 当应用开始处理摄像头数据时、内核打印"j721e-csi2rx 30102000.ticsi2rx:无法将下一个缓冲区排队等待 DMA ret:-5 "的可能性约为5%。内核和应用程序都处于活动状态。
[   12.300439] j721e-csi2rx 30102000.ticsi2rx: Failed to queue the next buffer for DMA ret:-5
[   12.308988] j721e-csi2rx 30102000.ticsi2rx: Failed to queue the next buffer for DMA ret:-5
[   12.340201] j721e-csi2rx 30102000.ticsi2rx: Failed to queue the next buffer for DMA ret:-5
[   12.348656] j721e-csi2rx 30102000.ticsi2rx: Failed to queue the next buffer for DMA ret:-5
[   12.356977] j721e-csi2rx 30102000.ticsi2rx: Failed to queue the next buffer for DMA ret:-5
[   12.365278] j721e-csi2rx 30102000.ticsi2rx: Failed to queue the next buffer for DMA ret:-5

有时、内核在打印后崩溃:

[   12.231154] j721e-csi2rx 30102000.ticsi2rx: Failed to queue the next buffer for DMA ret:-5
[   12.272619] j721e-csi2rx 30102000.ticsi2rx: Failed to queue the next buffer for DMA ret:-5
[   12.281605] j721e-csi2rx 30102000.ticsi2rx: Failed to queue the next buffer for DMA ret:-5
[   12.290444] j721e-csi2rx 30102000.ticsi2rx: Failed to queue the next buffer for DMA ret:-5
[   12.299284] j721e-csi2rx 30102000.ticsi2rx: Failed to queue the next buffer for DMA ret:-5
[   12.311782] j721e-csi2rx 30102000.ticsi2rx: Failed to queue the next buffer for DMA ret:-5
[   12.320773] j721e-csi2rx 30102000.ticsi2rx: Failed to queue the next buffer for DMA ret:-5
[   12.329853] j721e-csi2rx 30102000.ticsi2rx: Failed to queue the next buffer for DMA ret:-5
[   12.339248] j721e-csi2rx 30102000.ticsi2rx: Failed to queue the next buffer for DMA ret:-5
[   12.352418] j721e-csi2rx 30102000.ticsi2rx: Failed to queue the next buffer for DMA ret:-5
[   12.362069] j721e-csi2rx 30102000.ticsi2rx: Failed to queue the next buffer for DMA ret:-5
[   12.372079] Unable to handle kernel paging request at virtual address dead000000000108
[   12.379993] Mem abort info:
[   12.382780]   ESR = 0x0000000096000044
[   12.386522]   EC = 0x25: DABT (current EL), IL = 32 bits
[   12.391821]   SET = 0, FnV = 0
[   12.394866]   EA = 0, S1PTW = 0
[   12.397996]   FSC = 0x04: level 0 translation fault
[   12.402860] Data abort info:
[   12.405729]   ISV = 0, ISS = 0x00000044, ISS2 = 0x00000000
[   12.411199]   CM = 0, WnR = 1, TnD = 0, TagAccess = 0
[   12.416238]   GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
[   12.421538] [dead000000000108] address between user and kernel address ranges
[   12.428660] Internal error: Oops: 0000000096000044 [#1] PREEMPT SMP
[   12.434915] Modules linked in: ox01g10 max96701 pvrsrvkm(O) rti_wdt sa2ul mcrc64 wave5 v4l2_mem2mem max96755r max96724
[   12.445628] CPU: 0 UID: 0 PID: 0 Comm: swapper/0 Tainted: G        W  O       6.12.17+ #7
[   12.453792] Tainted: [W]=WARN, [O]=OOT_MODULE
[   12.458136] Hardware name: Texas Instruments AM62P5 SK (DT)
[   12.463694] pstate: 200000c5 (nzCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[   12.470640] pc : ti_csi2rx_dma_callback+0x70/0xe8
[   12.475343] lr : ti_csi2rx_dma_callback+0x68/0xe8
[   12.480039] sp : ffff800080003e20
[   12.483343] x29: ffff800080003e20 x28: 0000000000000101 x27: 0000000000000040
[   12.490472] x26: ffff000000f5e378 x25: dead000000000122 x24: ffff000001a21c78
[   12.497600] x23: ffff000001a21c50 x22: 0000000000000000 x21: ffff0000049dd400
[   12.504728] x20: ffff000001a21570 x19: ffff0000049dd000 x18: 0000000000000006
[   12.511855] x17: 2072656666756220 x16: 7478656e20656874 x15: 206575657571206f
[   12.518983] x14: 742064656c696146 x13: ffff800080d8cd38 x12: 00000000000009ab
[   12.526111] x11: 0000000000000339 x10: ffff800080de4d38 x9 : ffff800080d8cd38
[   12.533239] x8 : 00000000ffffefff x7 : ffff800080de4d38 x6 : 80000000fffff000
[   12.540367] x5 : ffff8000806b2f2c x4 : 0000000000000000 x3 : dead000000000100
[   12.547494] x2 : dead000000000122 x1 : 0000000000000100 x0 : 0000000000000005
[   12.554623] Call trace:
[   12.557061]  ti_csi2rx_dma_callback+0x70/0xe8
[   12.561411]  udma_vchan_complete+0x20c/0x258
[   12.565676]  tasklet_action_common+0xf8/0x11c
[   12.570027]  tasklet_action+0x2c/0x38
[   12.573682]  handle_softirqs+0x104/0x248
[   12.577598]  __do_softirq+0x14/0x20
[   12.581077]  ____do_softirq+0x10/0x1c
[   12.584731]  call_on_irq_stack+0x24/0x4c
[   12.588645]  do_softirq_own_stack+0x1c/0x28
[   12.592819]  irq_exit_rcu+0x8c/0xc4
[   12.596301]  el1_interrupt+0x38/0x68
[   12.599869]  el1h_64_irq_handler+0x18/0x24
[   12.603956]  el1h_64_irq+0x64/0x68
[   12.607348]  default_idle_call+0x28/0x3c
[   12.611264]  do_idle+0x200/0x258
[   12.614484]  cpu_startup_entry+0x38/0x3c
[   12.618398]  kernel_init+0x0/0x1d4
[   12.621793]  start_kernel+0x54c/0x694
[   12.625447]  __primary_switched+0x80/0x88
[   12.629454] Code: 528000a1 97ffbd90 a9428aa3 d2802001 (f9000462) 
[   12.635533] ---[ end trace 0000000000000000 ]---
[   12.640140] Kernel panic - not syncing: Oops: Fatal exception in interrupt
[   12.647000] SMP: stopping secondary CPUs
[   13.723945] SMP: failed to stop secondary CPUs 1
[   13.728556] Kernel Offset: disabled
[   13.732032] CPU features: 0x00,00000000,00200000,4200420b
[   13.737418] Memory Limit: none
[   13.740463] ---[ end Kernel panic - not syncing: Oops: Fatal exception in interrupt ]---

如果应用程序一直在获取摄像头数据、但不对其执行任何操作、它会很好。

该应用程序在其他平台上运行良好。

此故障意味着什么? 此故障的潜在原因是什么?