瀏覽代碼

msm: camera: ois: Update ois state correctly

Set ois state to config state only after init settings is
applied successfully, to avoid sensor power down is called
twice while init settings apply fail.

CRs-Fixed: 3332288
Change-Id: Ifdd407ea3c07eafc4091e2df354bc704ba6f0f7c
Signed-off-by: chengxue <[email protected]>
chengxue 2 年之前
父節點
當前提交
69c87fa237
共有 1 個文件被更改,包括 3 次插入2 次删除
  1. 3 2
      drivers/cam_sensor_module/cam_ois/cam_ois_core.c

+ 3 - 2
drivers/cam_sensor_module/cam_ois/cam_ois_core.c

@@ -209,6 +209,7 @@ static int cam_ois_power_down(struct cam_ois_ctrl_t *o_ctrl)
 	}
 
 	camera_io_release(&o_ctrl->io_master_info);
+	o_ctrl->cam_ois_state = CAM_OIS_ACQUIRE;
 
 	return rc;
 }
@@ -1134,7 +1135,6 @@ static int cam_ois_pkt_parse(struct cam_ois_ctrl_t *o_ctrl, void *arg)
 				CAM_ERR(CAM_OIS, " OIS Power up failed");
 				return rc;
 			}
-			o_ctrl->cam_ois_state = CAM_OIS_CONFIG;
 		}
 
 		CAM_DBG(CAM_OIS, "ois_fw_flag: %d", o_ctrl->ois_fw_flag);
@@ -1215,6 +1215,8 @@ static int cam_ois_pkt_parse(struct cam_ois_ctrl_t *o_ctrl, void *arg)
 			}
 		}
 
+		o_ctrl->cam_ois_state = CAM_OIS_CONFIG;
+
 		rc = delete_request(&o_ctrl->i2c_fwinit_data);
 		if (rc < 0) {
 			CAM_WARN(CAM_OIS,
@@ -1443,7 +1445,6 @@ void cam_ois_shutdown(struct cam_ois_ctrl_t *o_ctrl)
 		rc = cam_ois_power_down(o_ctrl);
 		if (rc < 0)
 			CAM_ERR(CAM_OIS, "OIS Power down failed");
-		o_ctrl->cam_ois_state = CAM_OIS_ACQUIRE;
 	}
 
 	if (o_ctrl->cam_ois_state >= CAM_OIS_ACQUIRE) {