]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
media: imx: Remove incorrect check for queue state in start/stop_streaming
authorIan Jamison <ian.dev@arkver.com>
Fri, 1 Dec 2017 18:53:50 +0000 (13:53 -0500)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Fri, 8 Dec 2017 15:38:44 +0000 (10:38 -0500)
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.dev@arkver.com>
Reviewed-by: Steve Longerbeam <steve_longerbeam@mentor.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/staging/media/imx/imx-media-capture.c

index ea145bafb880a5d8ea75ada8dc95152879a182b6..7b6763802db82cfd73632c0c65da769e2f99db16 100644 (file)
@@ -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);