From c8ac83dc3e22714a38f99d9eeede62bcba3368d0 Mon Sep 17 00:00:00 2001 From: Jigarkumar Zala Date: Mon, 22 Jun 2020 09:32:47 -0700 Subject: [PATCH] msm: camera: cci: Correct the condition check Submodules per master uninitialize check needs to be set to false when all submodules are released for that master. Correct the refcount check for the appropriate operation. CRs-Fixed: 2686487 Change-Id: Iaea94e4d1ad83bef99d40cec4e96de3993783ec1 Signed-off-by: Jigarkumar Zala --- drivers/cam_sensor_module/cam_cci/cam_cci_soc.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/cam_sensor_module/cam_cci/cam_cci_soc.c b/drivers/cam_sensor_module/cam_cci/cam_cci_soc.c index 5f35a6449a07..ce0b8de81316 100644 --- a/drivers/cam_sensor_module/cam_cci/cam_cci_soc.c +++ b/drivers/cam_sensor_module/cam_cci/cam_cci_soc.c @@ -403,11 +403,15 @@ int cam_cci_soc_release(struct cci_device *cci_dev, return -EINVAL; } - if (--cci_dev->master_active_slave[master]) + if (!(--cci_dev->master_active_slave[master])) { cci_dev->cci_master_info[master].is_initilized = false; + CAM_DBG(CAM_CCI, + "All submodules are released for master: %d", master); + } if (--cci_dev->ref_count) { - CAM_DBG(CAM_CCI, "ref_count Exit %d", cci_dev->ref_count); + CAM_DBG(CAM_CCI, "Submodule release: Ref_count: %d", + cci_dev->ref_count); return 0; }