From e342f050c283283eec1191c94a692325362c170e Mon Sep 17 00:00:00 2001 From: Daniel Scally Date: Tue, 21 Jan 2025 13:00:37 +0000 Subject: [PATCH] libcamera: mali-c55: Fix error paths in ::init() In the MaliC55CameraData::init() function there are two places that return values they shouldn't; the ret variable is returned after checking a pointer is not null instead of an explicit -ENODEV and later the boolean value false is returned on failure instead of the error value returned by V4L2Subdevice::open() - fix both problems. Signed-off-by: Daniel Scally Reviewed-by: Laurent Pinchart Reviewed-by: Kieran Bingham Signed-off-by: Kieran Bingham --- src/libcamera/pipeline/mali-c55/mali-c55.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/libcamera/pipeline/mali-c55/mali-c55.cpp b/src/libcamera/pipeline/mali-c55/mali-c55.cpp index f5260f5f4..4acc091bd 100644 --- a/src/libcamera/pipeline/mali-c55/mali-c55.cpp +++ b/src/libcamera/pipeline/mali-c55/mali-c55.cpp @@ -157,15 +157,16 @@ int MaliC55CameraData::init() */ sensor_ = CameraSensorFactoryBase::create(entity_); if (!sensor_) - return ret; + return -ENODEV; const MediaPad *sourcePad = entity_->getPadByIndex(0); MediaEntity *csiEntity = sourcePad->links()[0]->sink()->entity(); csi_ = std::make_unique(csiEntity); - if (csi_->open()) { + ret = csi_->open(); + if (ret) { LOG(MaliC55, Error) << "Failed to open CSI-2 subdevice"; - return false; + return ret; } return 0;