[PATCH] libcamera: mali-c55: Fix error paths in ::init()

Kieran Bingham kieran.bingham at ideasonboard.com
Thu Feb 6 13:14:24 CET 2025


Quoting Dan Scally (2025-01-21 15:33:40)
> Hi Laurent
> 
> On 21/01/2025 13:18, Laurent Pinchart wrote:
> > Hi Dan,
> >
> > Thank you for the patch.
> >
> > On Tue, Jan 21, 2025 at 01:00:37PM +0000, Daniel Scally wrote:
> >> In the ::init() function there are two places that return values they
> > MaliC55CameraData::init() ? ::init() in C++ means global namespace.
> Yes, perhaps that wasn't clear - my bad.

With namespace specified correctly, ship it, I think you can just merge
this!


Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>

> >
> >> 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 <dan.scally at ideasonboard.com>
> > Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> 
> Thanks
> 
> Dan
> 
> >
> >> ---
> >>   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 5abd6b20..6aa2f2d9 100644
> >> --- a/src/libcamera/pipeline/mali-c55/mali-c55.cpp
> >> +++ b/src/libcamera/pipeline/mali-c55/mali-c55.cpp
> >> @@ -159,15 +159,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<V4L2Subdevice>(csiEntity);
> >> -    if (csi_->open()) {
> >> +    ret = csi_->open();
> >> +    if (ret) {
> >>              LOG(MaliC55, Error) << "Failed to open CSI-2 subdevice";
> >> -            return false;
> >> +            return ret;
> >>      }
> >>   
> >>      return 0;


More information about the libcamera-devel mailing list