[libcamera-devel,1/2] libcamera: ipu3: Catch return value when disabling links

Message ID 20190403102545.7143-2-kieran.bingham@ideasonboard.com
State Accepted
Commit 78552c818b8b9f9ea3b1a244e4d5ba2c86b07ce6
Headers show
Series
  • Cleanups - for buildroot
Related show

Commit Message

Kieran Bingham April 3, 2019, 10:25 a.m. UTC
Ensure that any error from the disableLinks() call during match() is
propogated to the caller.

Fixes: d698ed27494a ("libcamera: ipu3: Create ImgUDevice class")
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
---
 src/libcamera/pipeline/ipu3/ipu3.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Laurent Pinchart April 3, 2019, 10:35 a.m. UTC | #1
Hi Kieran,

Thank you for the patch.

On Wed, Apr 03, 2019 at 05:25:44PM +0700, Kieran Bingham wrote:
> Ensure that any error from the disableLinks() call during match() is
> propogated to the caller.
> 
> Fixes: d698ed27494a ("libcamera: ipu3: Create ImgUDevice class")
> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  src/libcamera/pipeline/ipu3/ipu3.cpp | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
> index 164e187c769d..fed04ce50387 100644
> --- a/src/libcamera/pipeline/ipu3/ipu3.cpp
> +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
> @@ -511,7 +511,8 @@ bool PipelineHandlerIPU3::match(DeviceEnumerator *enumerator)
>  	 * going through a library teardown->match() sequence would fail
>  	 * at the moment.
>  	 */
> -	if (imguMediaDev_->disableLinks())
> +	ret = imguMediaDev_->disableLinks();
> +	if (ret)
>  		goto error;
>  
>  	ret = registerCameras();

Patch

diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
index 164e187c769d..fed04ce50387 100644
--- a/src/libcamera/pipeline/ipu3/ipu3.cpp
+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
@@ -511,7 +511,8 @@  bool PipelineHandlerIPU3::match(DeviceEnumerator *enumerator)
 	 * going through a library teardown->match() sequence would fail
 	 * at the moment.
 	 */
-	if (imguMediaDev_->disableLinks())
+	ret = imguMediaDev_->disableLinks();
+	if (ret)
 		goto error;
 
 	ret = registerCameras();