[libcamera-devel] [PATCH v2 2/2] libcamera: pipelines: ipu3: Simplify error bail out path on start()
Jacopo Mondi
jacopo at jmondi.org
Fri Jan 15 16:55:18 CET 2021
Hi Umang
On Tue, Jan 12, 2021 at 10:21:40AM +0530, Umang Jain wrote:
> On the bail out path, always ensure that ImgU and CIO2 are stopped
> before freeing the buffers. V4L2VideoDevice class guarantees that
> calling stop() without having to call start() is harmless, hence use
> this guarantee to simplify error paths.
>
> Signed-off-by: Umang Jain <email at uajain.com>
Thanks
Reviewed-by: Jacopo Mondi <jacopo at jmondi.org>
> ---
> src/libcamera/pipeline/ipu3/ipu3.cpp | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
> index f1151733..73304ea7 100644
> --- a/src/libcamera/pipeline/ipu3/ipu3.cpp
> +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
> @@ -617,15 +617,14 @@ int PipelineHandlerIPU3::start(Camera *camera, [[maybe_unused]] ControlList *con
> goto error;
>
> ret = imgu->start();
> - if (ret) {
> - imgu->stop();
> - cio2->stop();
> + if (ret)
> goto error;
> - }
>
> return 0;
>
> error:
> + imgu->stop();
> + cio2->stop();
> freeBuffers(camera);
> LOG(IPU3, Error) << "Failed to start camera " << camera->id();
>
> --
> 2.26.2
>
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel
More information about the libcamera-devel
mailing list