diff --git a/drivers/media/platform/rockchip/isp/isp_params.c b/drivers/media/platform/rockchip/isp/isp_params.c index 5ed7da6e64c5..e4d159d20e75 100644 --- a/drivers/media/platform/rockchip/isp/isp_params.c +++ b/drivers/media/platform/rockchip/isp/isp_params.c @@ -308,9 +308,10 @@ static void rkisp_params_vb2_stop_streaming(struct vb2_queue *vq) /* clean module params */ params_vdev->ops->clear_first_param(params_vdev); params_vdev->rdbk_times = 0; - if (!(dev->isp_state & ISP_START)) + if (params_vdev->is_first_cfg) { rkisp_params_stream_stop(params_vdev); - + params_vdev->is_first_cfg = false; + } dev->fpn_cfg.en = 0; if (dev->fpn_cfg.buf) { vfree(dev->fpn_cfg.buf); @@ -568,7 +569,6 @@ void rkisp_params_stream_stop(struct rkisp_isp_params_vdev *params_vdev) /* isp stop to free buf */ if (params_vdev->ops->stream_stop) params_vdev->ops->stream_stop(params_vdev); - params_vdev->first_cfg_params = false; } bool rkisp_params_check_bigmode(struct rkisp_isp_params_vdev *params_vdev)