summaryrefslogtreecommitdiff
path: root/projects/linux/mm/bsp392_r8a77990,5-add-DU-CPG-reset.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'projects/linux/mm/bsp392_r8a77990,5-add-DU-CPG-reset.yaml')
0 files changed, 0 insertions, 0 deletions
save(&pipe->irqlock, flags); state = pipe->state; - pipe->state = VSP2_PIPELINE_STOPPED; + + if (--pipe->running_count == 0) + pipe->state = VSP2_PIPELINE_STOPPED; /* If a stop has been requested, mark the pipeline as stopped and * return. @@ -981,7 +985,7 @@ static int vsp2_video_stop_streaming(struct vb2_queue *vq) int ret; mutex_lock(&pipe->lock); - if (--pipe->stream_count == 0) { + if (--pipe->stream_count == pipe->num_inputs) { /* Stop the pipeline. */ ret = vsp2_pipeline_stop(pipe); if (ret == -ETIMEDOUT) diff --git a/drv/vsp2_video.h b/drv/vsp2_video.h index 90c3478..db67e66 100755 --- a/drv/vsp2_video.h +++ b/drv/vsp2_video.h @@ -120,6 +120,7 @@ struct vsp2_pipeline { struct mutex lock; unsigned int use_count; unsigned int stream_count; + unsigned int running_count; unsigned int buffers_ready; unsigned int num_video;