Camera VI set Blocking mode problem

hello:
I have a application scenarios in use Sequential Trigger Mode sensor mode,need waiting for signals of uncertain time to trigger capture. Select configuration below:

int OrinCam::dq_buffer(struct v4l2_buffer &v4l2_buf, enum v4l2_buf_type buf_type, enum v4l2_memory memory_type, uint32_t num_retries)
{
  int ret = 0;
  fd_set fds;
  struct timeval tv;
  FD_ZERO(&fds);
  FD_SET(this->video_fd, &fds);
  tv.tv_sec  = 1;
  tv.tv_usec = 20000;
  // ret = select(this->video_fd + 1, &fds, NULL, NULL, &tv);
  ret = select(this->video_fd + 1, &fds, NULL, NULL, NULL);//修改为无限等待模式
  if (ret <= 0)
  {
      DEBUG_LOG(SENSOR, ERROR, "select error ret:%d \n", ret);
      return ret;
  }
  v4l2_buf.type = buf_type;
  v4l2_buf.memory = memory_type;
  do
  {
      ret = ioctl(this->video_fd, VIDIOC_DQBUF, &v4l2_buf);
      DEBUG_LOG(SENSOR, INFO, "ret:%d index:%d\n", ret, v4l2_buf.index);
      if (ret == 0)
      {
          this->sensor_capture_plane_callback(v4l2_buf.index);
          return ret;
      }
      else if (num_retries-- == 0)
      {
          DEBUG_LOG(SENSOR, ERROR, "VIDIOC_DQBUF error ret:%d num_retries:%d\n", ret, num_retries);
          break;
      }
  } while (ret);
  return ret;
}

but not effective. Kernel error as below:

[ 3016.991624] imx566 0-001a: [nv_imx566_operations.c:1520 sensor_s_stream]:sensor_s_stream sensor_s_stream 1
[ 3016.993069] (NULL device *): [iomanager.c:175 gpio_irq_handler]:irq:268 triggerPin:7
[ 3019.665256] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 3019.665273] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 3019.666023] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 3019.666033] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=2, csi_port=2
[ 3019.666042] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 3019.666046] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 2 vc- 0
[ 3019.666300] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 3022.225230] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 3022.225249] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 3022.225798] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 3022.225806] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=2, csi_port=2
[ 3022.225811] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 3022.225813] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 2 vc- 0
[ 3022.225986] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 3022.226013] imx566 0-001a: [nv_imx566_operations.c:1520 sensor_s_stream]:sensor_s_stream sensor_s_stream 0

Do I need to add any missing areas? Thank you.

Try below command to set the timeout to infinite.

v4l2-ctl -c override_capture_timeout_ms=-1