From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.linuxfoundation.org ([140.211.169.12]:52450 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753163AbcKIK1j (ORCPT ); Wed, 9 Nov 2016 05:27:39 -0500 Subject: Patch "[media] v4l: vsp1: Prevent pipelines from running when not streaming" has been added to the 4.8-stable tree To: laurent.pinchart+renesas@ideasonboard.com, gregkh@linuxfoundation.org, kieran@ksquared.org.uk, mchehab@s-opensource.com Cc: , From: Date: Wed, 09 Nov 2016 11:27:18 +0100 Message-ID: <147868723812167@kroah.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: 8bit Sender: stable-owner@vger.kernel.org List-ID: This is a note to let you know that I've just added the patch titled [media] v4l: vsp1: Prevent pipelines from running when not streaming to the 4.8-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: v4l-vsp1-prevent-pipelines-from-running-when-not-streaming.patch and it can be found in the queue-4.8 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let know about it. >>From e4e70a147a48618a36ae1b81c641516cb9d45993 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Fri, 8 Jul 2016 06:20:51 -0300 Subject: [media] v4l: vsp1: Prevent pipelines from running when not streaming From: Laurent Pinchart commit e4e70a147a48618a36ae1b81c641516cb9d45993 upstream. Pipelines can only be run if all their video nodes are streaming. Commit b4dfb9b35a19 ("[media] v4l: vsp1: Stop the pipeline upon the first STREAMOFF") fixed the pipeline stop sequence, but introduced a race condition that makes it possible to run a pipeline after stopping the stream on a video node by queuing a buffer on the other side of the pipeline. Fix this by clearing the buffers ready flag when stopping the stream, which will prevent the QBUF handler from running the pipeline. Fixes: b4dfb9b35a19 ("[media] v4l: vsp1: Stop the pipeline upon the first STREAMOFF") Reported-by: Kieran Bingham Tested-by: Kieran Bingham Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Greg Kroah-Hartman --- drivers/media/platform/vsp1/vsp1_video.c | 7 +++++++ 1 file changed, 7 insertions(+) --- a/drivers/media/platform/vsp1/vsp1_video.c +++ b/drivers/media/platform/vsp1/vsp1_video.c @@ -675,6 +675,13 @@ static void vsp1_video_stop_streaming(st unsigned long flags; int ret; + /* Clear the buffers ready flag to make sure the device won't be started + * by a QBUF on the video node on the other side of the pipeline. + */ + spin_lock_irqsave(&video->irqlock, flags); + pipe->buffers_ready &= ~(1 << video->pipe_index); + spin_unlock_irqrestore(&video->irqlock, flags); + mutex_lock(&pipe->lock); if (--pipe->stream_count == pipe->num_inputs) { /* Stop the pipeline. */ Patches currently in stable-queue which might be from laurent.pinchart+renesas@ideasonboard.com are queue-4.8/v4l-vsp1-prevent-pipelines-from-running-when-not-streaming.patch