From d9bc9be3882f75e2a84da695a6a2d15bd4cd4663 Mon Sep 17 00:00:00 2001 From: Dean Lee Date: Fri, 28 Feb 2025 23:49:48 +0800 Subject: [PATCH] camerad: ensure sync objects are assigned only on successful creation (#34731) ensure sync objects are assigned only on successful creation --- system/camerad/cameras/spectra.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/system/camerad/cameras/spectra.cc b/system/camerad/cameras/spectra.cc index 7b2b385a1f..3e5941b13f 100644 --- a/system/camerad/cameras/spectra.cc +++ b/system/camerad/cameras/spectra.cc @@ -956,15 +956,17 @@ bool SpectraCamera::enqueue_buffer(int i, uint64_t request_id) { ret = do_sync_control(m->cam_sync_fd, CAM_SYNC_CREATE, &sync_create, sizeof(sync_create)); if (ret != 0) { LOGE("failed to create fence: %d %d", ret, sync_create.sync_obj); + } else { + sync_objs_ife[i] = sync_create.sync_obj; } - sync_objs_ife[i] = sync_create.sync_obj; if (icp_dev_handle > 0) { ret = do_cam_control(m->cam_sync_fd, CAM_SYNC_CREATE, &sync_create, sizeof(sync_create)); if (ret != 0) { LOGE("failed to create fence: %d %d", ret, sync_create.sync_obj); + } else { + sync_objs_bps[i] = sync_create.sync_obj; } - sync_objs_bps[i] = sync_create.sync_obj; } // schedule request with camera request manager