aboutsummaryrefslogtreecommitdiff
path: root/target/linux/bcm27xx/patches-6.1/950-1010-media-rp1-cfe-Fail-streaming-if-FE_CONFIG-node-is-no.patch
blob: de469c3565ced41b9820dd639bc00417f15bf371 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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);