It is possible to call STREAMON without the minimum number of
buffers queued. In this case the vb2_queue state will be set to
streaming but the start_streaming vb2_op will not be called.
Later when enough buffers are queued, start_streaming will
be called but vb2_is_streaming will already return true.

Also removed the queue state check in stop_streaming since it's
not valid there either.

Signed-off-by: Ian Jamison <ian....@arkver.com>
---
Since v1:
    Remove check in capture_stop_streaming as recommended by Hans.

 drivers/staging/media/imx/imx-media-capture.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/drivers/staging/media/imx/imx-media-capture.c 
b/drivers/staging/media/imx/imx-media-capture.c
index ea145bafb880..7b6763802db8 100644
--- a/drivers/staging/media/imx/imx-media-capture.c
+++ b/drivers/staging/media/imx/imx-media-capture.c
@@ -449,9 +449,6 @@ static int capture_start_streaming(struct vb2_queue *vq, 
unsigned int count)
        unsigned long flags;
        int ret;
 
-       if (vb2_is_streaming(vq))
-               return 0;
-
        ret = imx_media_pipeline_set_stream(priv->md, &priv->src_sd->entity,
                                            true);
        if (ret) {
@@ -480,9 +477,6 @@ static void capture_stop_streaming(struct vb2_queue *vq)
        unsigned long flags;
        int ret;
 
-       if (!vb2_is_streaming(vq))
-               return;
-
        spin_lock_irqsave(&priv->q_lock, flags);
        priv->stop = true;
        spin_unlock_irqrestore(&priv->q_lock, flags);
-- 
2.15.0

Reply via email to