summaryrefslogtreecommitdiff
path: root/src/libcamera/pipeline
diff options
context:
space:
mode:
authorKieran Bingham <kieran.bingham@ideasonboard.com>2021-03-08 16:29:15 +0000
committerKieran Bingham <kieran.bingham@ideasonboard.com>2021-03-24 22:20:05 +0000
commit4ce1a33e4b0f377e8b86cd80e965dc01a4907e17 (patch)
tree98f330d828d4dbccd4f783a41a55fb694ca01183 /src/libcamera/pipeline
parentb50c12bf187dafef02e9f226c328792abffc7357 (diff)
libcamera: pipeline: ipu3: Stop IPA before stopping devices
The IPA should be stopped before the hardware devices to ensure that all asynchronous actions have completed within the IPA before resources are removed and released. Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Diffstat (limited to 'src/libcamera/pipeline')
-rw-r--r--src/libcamera/pipeline/ipu3/ipu3.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
index fc40dcb3..34ee6003 100644
--- a/src/libcamera/pipeline/ipu3/ipu3.cpp
+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
@@ -764,13 +764,13 @@ void PipelineHandlerIPU3::stop(Camera *camera)
IPU3CameraData *data = cameraData(camera);
int ret = 0;
+ data->ipa_->stop();
+
ret |= data->imgu_->stop();
ret |= data->cio2_.stop();
if (ret)
LOG(IPU3, Warning) << "Failed to stop camera " << camera->id();
- data->ipa_->stop();
-
freeBuffers(camera);
}