A kernel panic after camera driver unbind

Dear support team:
When we tested the sensor, we found that sometimes the system would restart, and the frequency was about 5%. Could you please help me find out what happened? The following is the kernel log

9月 12 19:08:48 smartsens-desktop kernel: tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
9月 12 19:08:48 smartsens-desktop kernel: (NULL device *): vi_capture_control_message: NULL VI channel received
9月 12 19:08:48 smartsens-desktop kernel: t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=2, csi_port=2
9月 12 19:08:48 smartsens-desktop kernel: (NULL device *): vi_capture_control_message: NULL VI channel received
9月 12 19:08:48 smartsens-desktop kernel: t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 2 vc- 0
9月 12 19:08:48 smartsens-desktop kernel: tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
9月 12 19:08:50 smartsens-desktop kernel: tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
9月 12 19:08:50 smartsens-desktop kernel: tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
9月 12 19:08:50 smartsens-desktop kernel: (NULL device *): vi_capture_control_message: NULL VI channel received
9月 12 19:08:50 smartsens-desktop kernel: t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=2, csi_port=2
9月 12 19:08:50 smartsens-desktop kernel: (NULL device *): vi_capture_control_message: NULL VI channel received
9月 12 19:08:50 smartsens-desktop kernel: t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 2 vc- 0
9月 12 19:08:50 smartsens-desktop kernel: tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
9月 12 19:08:50 smartsens-desktop kernel: bwmgr API not supported
9月 12 19:08:50 smartsens-desktop kernel: tegra-camrtc-capture-vi tegra-capture-vi: subdev site1 30-0017 unbind
9月 12 19:08:50 smartsens-desktop kernel: tegra-camrtc-capture-vi tegra-capture-vi: subdev site1 30-0016 unbind
9月 12 19:08:50 smartsens-desktop kernel: tegra-camrtc-capture-vi tegra-capture-vi: subdev site1 30-0015 unbind
9月 12 19:08:50 smartsens-desktop kernel: tegra-camrtc-capture-vi tegra-capture-vi: subdev site1 30-0014 unbind
9月 12 19:08:51 smartsens-desktop kernel: Unable to handle kernel NULL pointer dereference at virtual address 00000000000004f8
9月 12 19:08:51 smartsens-desktop kernel: Mem abort info:
9月 12 19:08:51 smartsens-desktop kernel:   ESR = 0x96000005
9月 12 19:08:51 smartsens-desktop kernel:   EC = 0x25: DABT (current EL), IL = 32 bits
9月 12 19:08:51 smartsens-desktop kernel:   SET = 0, FnV = 0
9月 12 19:08:51 smartsens-desktop kernel:   EA = 0, S1PTW = 0
9月 12 19:08:51 smartsens-desktop kernel: Data abort info:
9月 12 19:08:51 smartsens-desktop kernel:   ISV = 0, ISS = 0x00000005
9月 12 19:08:51 smartsens-desktop kernel:   CM = 0, WnR = 0
9月 12 19:08:51 smartsens-desktop kernel: user pgtable: 4k pages, 48-bit VAs, pgdp=0000000103ac0000
9月 12 19:08:51 smartsens-desktop kernel: [00000000000004f8] pgd=0000000101347003, p4d=0000000101347003, pud=0000000000000000
9月 12 19:08:51 smartsens-desktop kernel: Internal error: Oops: 96000005 [#1] PREEMPT SMP

hello 541449841,

may I know which Jetpack release version you’re working with?
is it possible for moving to the latest release version, JetPack 5.1.2 for verification?

R35.4.1 & R35.3.1 We tried both

hello 541449841,

we would like to check this internally,
could you please share complete reproduce steps for reference,
thanks

sure our real usage scenario looks like this:
Host pc send command to Orin,Orin performs the following operations
1、sudo insmod scsensor_site0.ko :
2、open video0 & video1 & video2 (3VC)
3、grab images and send the data to the PC through the PCIE collection card
4、When receiving the stop command sent by the PC,Orin will Stop grabbing images and rmmod scsensor_site0.ko

Repeat the operation cycle,it happens about once every hundreds of times

hello 541449841,

had you try adding sudo sync after step-3 for I/O synchronization?

or…
is it possible to repo without sending the data to PC?
for instance,

  1. insert module.
  2. grab 1-frame from these 3 video nodes.
  3. remove module.

Thank you for your reply. We found a more fatal problem, which we will confirm later.