staging: bcm2835-camera: Remove check of the number of buffers supplied [Linux 5.2.1]

staging: bcm2835-camera: Remove check of the number of buffers supplied [Linux 5.2.1]

This Linux kernel change "staging: bcm2835-camera: Remove check of the number of buffers supplied" is included in the Linux 5.2.1 release. This change is authored by Dave Stevenson <dave.stevenson [at] raspberrypi.org> on Sat Jun 29 14:13:30 2019 +0200. The commit for this change in Linux stable tree is bc54525 (patch) which is from upstream commit bb8e970. The same Linux upstream change may have been applied to various maintained Linux releases and you can find all Linux releases containing changes from upstream bb8e970.

staging: bcm2835-camera: Remove check of the number of buffers supplied

commit bb8e97006d701ae725a177f8f322e5a75fa761b7 upstream.

Before commit "staging: bcm2835-camera: Remove V4L2/MMAL buffer remapping"
there was a need to ensure that there were sufficient buffers supplied from
the user to cover those being sent to the VPU (always 1).

Now the buffers are linked 1:1 between MMAL and V4L2,
therefore there is no need for that check, and indeed it is wrong
as there is no need to submit all the buffers before starting streaming.

Fixes: 938416707071 ("staging: bcm2835-camera: Remove V4L2/MMAL buffer remapping")
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
Acked-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Acked-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

There are 10 lines of Linux source code added/deleted in this change. Code changes to Linux kernel are as follows.

 drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c b/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c
index c62625b8..0f7de34 100644
--- a/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c
+++ b/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c
@@ -1328,16 +1328,6 @@ static int port_enable(struct vchiq_mmal_instance *instance,
    if (port->enabled)
        return 0;

-   /* ensure there are enough buffers queued to cover the buffer headers */
-   if (port->buffer_cb) {
-       hdr_count = 0;
-       list_for_each(buf_head, &port->buffers) {
-           hdr_count++;
-       }
-       if (hdr_count < port->current_buffer.num)
-           return -ENOSPC;
-   }
-
    ret = port_action_port(instance, port,
                   MMAL_MSG_PORT_ACTION_TYPE_ENABLE);
    if (ret)

Leave a Reply

Your email address will not be published. Required fields are marked *