[libcamera-devel,v2] libcamera: pipeline: vimc: Fail without an IPA
diff mbox series

Message ID 20210616143430.3826175-1-kieran.bingham@ideasonboard.com
State Accepted
Commit 5db033f0e7d4fd1b27422a74f6b3442affe13adc
Headers show
Series
  • [libcamera-devel,v2] libcamera: pipeline: vimc: Fail without an IPA
Related show

Commit Message

Kieran Bingham June 16, 2021, 2:34 p.m. UTC
The IPA is required for VIMC so fail early if it can't be loaded.

Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
---
 src/libcamera/pipeline/vimc/vimc.cpp | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

Patch
diff mbox series

diff --git a/src/libcamera/pipeline/vimc/vimc.cpp b/src/libcamera/pipeline/vimc/vimc.cpp
index 1713dc0ca932..1c4135cc6daa 100644
--- a/src/libcamera/pipeline/vimc/vimc.cpp
+++ b/src/libcamera/pipeline/vimc/vimc.cpp
@@ -427,13 +427,14 @@  bool PipelineHandlerVimc::match(DeviceEnumerator *enumerator)
 		return false;
 
 	data->ipa_ = IPAManager::createIPA<ipa::vimc::IPAProxyVimc>(this, 0, 0);
-	if (data->ipa_ != nullptr) {
-		std::string conf = data->ipa_->configurationFile("vimc.conf");
-		data->ipa_->init(IPASettings{ conf, data->sensor_->model() });
-	} else {
-		LOG(VIMC, Warning) << "no matching IPA found";
+	if (!data->ipa_) {
+		LOG(VIMC, Error) << "no matching IPA found";
+		return false;
 	}
 
+	std::string conf = data->ipa_->configurationFile("vimc.conf");
+	data->ipa_->init(IPASettings{ conf, data->sensor_->model() });
+
 	/* Create and register the camera. */
 	std::set<Stream *> streams{ &data->stream_ };
 	std::shared_ptr<Camera> camera =