[libcamera-devel] [PATCH] libcamera: pipeline: ipu3: Check for failures when loading IPA

Kieran Bingham kieran.bingham at ideasonboard.com
Fri Apr 16 18:03:20 CEST 2021


The ipa_->init() method can fail if the IPA can't load correctly.
This should be caught by the pipeline handler to prevent continuing
with an invalid IPA.

Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
---
 src/libcamera/pipeline/ipu3/ipu3.cpp | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
index 519cad4f8148..51446fcf5bc1 100644
--- a/src/libcamera/pipeline/ipu3/ipu3.cpp
+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
@@ -1145,7 +1145,11 @@ int IPU3CameraData::loadIPA()
 	ipa_->queueFrameAction.connect(this, &IPU3CameraData::queueFrameAction);
 
 	CameraSensor *sensor = cio2_.sensor();
-	ipa_->init(IPASettings{ "", sensor->model() });
+	int ret = ipa_->init(IPASettings{ "", sensor->model() });
+	if (ret) {
+		LOG(IPU3, Error) << "Failed to initialise the IPU3 IPA";
+		return ret;
+	}
 
 	return 0;
 }
-- 
2.25.1



More information about the libcamera-devel mailing list