media: platform: renesas-ceu: drop buf NULL check
authorHans Verkuil <hverkuil-cisco@xs4all.nl>
Wed, 24 May 2023 12:11:46 +0000 (13:11 +0100)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Fri, 9 Jun 2023 15:08:09 +0000 (16:08 +0100)
Since start_streaming is only called if there are at least two
buffers queued, the ceudev->capture list will never be empty, so
the check whether there are no buffers can be dropped.

Note that the '!buf' check was wrong in any case, if we wanted to
check for an empty list it should have used list_empty().

This fixes this smatch warning:

drivers/media/platform/renesas/renesas-ceu.c:705 ceu_start_streaming() warn: can 'buf' even be NULL?

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/media/platform/renesas/renesas-ceu.c

index 56b9c59..5c9e27f 100644 (file)
@@ -702,12 +702,6 @@ static int ceu_start_streaming(struct vb2_queue *vq, unsigned int count)
        /* Grab the first available buffer and trigger the first capture. */
        buf = list_first_entry(&ceudev->capture, struct ceu_buffer,
                               queue);
-       if (!buf) {
-               spin_unlock_irqrestore(&ceudev->lock, irqflags);
-               dev_dbg(ceudev->dev,
-                       "No buffer available for capture.\n");
-               goto error_stop_sensor;
-       }
 
        list_del(&buf->queue);
        ceudev->active = &buf->vb;
@@ -722,9 +716,6 @@ static int ceu_start_streaming(struct vb2_queue *vq, unsigned int count)
 
        return 0;
 
-error_stop_sensor:
-       v4l2_subdev_call(v4l2_sd, video, s_stream, 0);
-
 error_return_bufs:
        spin_lock_irqsave(&ceudev->lock, irqflags);
        list_for_each_entry(buf, &ceudev->capture, queue)