hello JiaZW,
it’s error recover mechanism as you can see…
$public_sources/kernel_src/kernel/nvidia/drivers/media/platform/tegra/camera/vi/channel.c
int tegra_channel_error_recover(struct tegra_channel *chan, bool queue_error)
{
struct tegra_mc_vi *vi = chan->vi;
int err = 0;
if (!(vi->fops && vi->fops->vi_error_recover)) {
err = -EIO;
goto done;
}
dev_warn(vi->dev, "err_rec: attempting to reset the capture channel\n");
err = vi->fops->vi_error_recover(chan, queue_error);
if you would like to disable it.
please give it a try to remove this operation in the VI-5 driver.
$public_sources/kernel_src/kernel/nvidia/drivers/media/platform/tegra/camera/vi/vi5_fops.c
struct tegra_vi_fops vi5_fops = {
.vi_error_recover = vi5_channel_error_recover,