[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20260105-b4-vc-sm-cma-v2-1-4daea749ced9@ideasonboard.com>
Date: Mon, 05 Jan 2026 14:26:47 +0530
From: Jai Luthra <jai.luthra@...asonboard.com>
To: Florian Fainelli <florian.fainelli@...adcom.com>,
Raspberry Pi Kernel Maintenance <kernel-list@...pberrypi.com>,
bcm-kernel-feedback-list@...adcom.com,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Dave Stevenson <dave.stevenson@...pberrypi.com>
Cc: Phil Elwell <phil@...pberrypi.com>, Stefan Wahren <wahrenst@....net>,
Laurent Pinchart <laurent.pinchart@...asonboard.com>,
Kieran Bingham <kieran.bingham@...asonboard.com>,
Sumit Semwal <sumit.semwal@...aro.org>,
Christian König <christian.koenig@....com>,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
linux-rpi-kernel@...ts.infradead.org,
Jai Luthra <jai.luthra@...asonboard.com>, stable@...r.kernel.org
Subject: [PATCH v2 1/6] platform/raspberrypi: vchiq-mmal: Reset
buffers_with_vpu on port_enable
From: Dave Stevenson <dave.stevenson@...pberrypi.com>
Should we go through the timeout failure case with port_disable
not returning all buffers for whatever reason, the
buffers_with_vpu counter gets left at a non-zero value, which
will cause reference counting issues should the instance be
reused.
Reset the count when the port is enabled again, but before
any buffers have been sent to the VPU.
Fixes: 70ec64ccdaac ("staging: bcm2835-camera: Ensure all buffers are returned on disable")
Cc: stable@...r.kernel.org
Signed-off-by: Dave Stevenson <dave.stevenson@...pberrypi.com>
Signed-off-by: Jai Luthra <jai.luthra@...asonboard.com>
---
drivers/platform/raspberrypi/vchiq-mmal/mmal-vchiq.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/platform/raspberrypi/vchiq-mmal/mmal-vchiq.c b/drivers/platform/raspberrypi/vchiq-mmal/mmal-vchiq.c
index cd073ed3ea2dd9c45b137f1a32e236e520b7b320..e76551948bd9c4f60bef1138280fe8dd9d32477b 100644
--- a/drivers/platform/raspberrypi/vchiq-mmal/mmal-vchiq.c
+++ b/drivers/platform/raspberrypi/vchiq-mmal/mmal-vchiq.c
@@ -1364,6 +1364,8 @@ static int port_enable(struct vchiq_mmal_instance *instance,
port->enabled = true;
+ atomic_set(&port->buffers_with_vpu, 0);
+
if (port->buffer_cb) {
/* send buffer headers to videocore */
hdr_count = 1;
--
2.52.0
Powered by blists - more mailing lists