openwrt/target/linux/bcm27xx/patches-6.1/950-1010-media-rp1-cfe-Fail-streaming-if-FE_CONFIG-node-is-no.patch

32 lines
1.1 KiB
Diff
Raw Normal View History

From 3e2203b265ddd8630fea0fbb69b3a2ec1496f773 Mon Sep 17 00:00:00 2001
From: Naushir Patuck <naush@raspberrypi.com>
Date: Wed, 4 Oct 2023 09:39:59 +0100
Subject: [PATCH] media: rp1: cfe: Fail streaming if FE_CONFIG node is not
enabled
When the FE is enabled, ensure that the FE_CONFIG node is enabled.
Otherwise fail cfe_start_streaming() entirely.
Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
---
drivers/media/platform/raspberrypi/rp1_cfe/cfe.c | 8 ++++++++
1 file changed, 8 insertions(+)
--- a/drivers/media/platform/raspberrypi/rp1_cfe/cfe.c
+++ b/drivers/media/platform/raspberrypi/rp1_cfe/cfe.c
@@ -997,6 +997,14 @@ static int cfe_start_streaming(struct vb
goto err_streaming;
}
+ /* When using the Frontend, we must enable the FE_CONFIG node. */
+ if (is_fe_enabled(cfe) &&
+ !check_state(cfe, NODE_ENABLED, cfe->node[FE_CONFIG].id)) {
+ cfe_err("FE enabled, but FE_CONFIG node is not\n");
+ ret = -EINVAL;
+ goto err_streaming;
+ }
+
ret = media_pipeline_start(&node->pad, &cfe->pipe);
if (ret < 0) {
cfe_err("Failed to start media pipeline: %d\n", ret);