tn3399_openwrt/target/linux/bcm27xx/patches-5.15/950-0491-staging-bcm2835-codec-Return-buffers-to-QUEUED-not-E.patch
Álvaro Fernández Rojas 20ea6adbf1 bcm27xx: add support for linux v5.15
Build system: x86_64
Build-tested: bcm2708, bcm2709, bcm2710, bcm2711
Run-tested: bcm2708/RPiB+, bcm2709/RPi3B, bcm2710/RPi3B, bcm2711/RPi4B

Signed-off-by: Marty Jones <mj8263788@gmail.com>
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2022-05-17 15:11:22 +02:00

36 lines
1.4 KiB
Diff

From a07df18f2992baca3fa9d6a16ae93b585786c5d4 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.com>
Date: Thu, 5 Aug 2021 16:46:42 +0100
Subject: [PATCH] staging/bcm2835-codec: Return buffers to QUEUED not
ERROR state
Should start_streaming fail, or buffers be queued during
stop_streaming, they should be returned to the core as QUEUED
and not (as currently) as ERROR.
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
---
.../staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c
+++ b/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c
@@ -1111,7 +1111,7 @@ static void op_buffer_cb(struct vchiq_mm
v4l2_dbg(2, debug, &ctx->dev->v4l2_dev, "%s: Empty buffer - flags %04x",
__func__, mmal_buf->mmal_flags);
if (!(mmal_buf->mmal_flags & MMAL_BUFFER_HEADER_FLAG_EOS)) {
- vb2_buffer_done(&vb2->vb2_buf, VB2_BUF_STATE_ERROR);
+ vb2_buffer_done(&vb2->vb2_buf, VB2_BUF_STATE_QUEUED);
if (!port->enabled)
complete(&ctx->frame_cmplt);
return;
@@ -2683,7 +2683,7 @@ static void bcm2835_codec_stop_streaming
v4l2_dbg(1, debug, &ctx->dev->v4l2_dev, "%s: return buffer %p\n",
__func__, vbuf);
- v4l2_m2m_buf_done(vbuf, VB2_BUF_STATE_ERROR);
+ v4l2_m2m_buf_done(vbuf, VB2_BUF_STATE_QUEUED);
}
/* Disable MMAL port - this will flush buffers back */