diff --git a/drivers/cam_sensor_module/cam_flash/cam_flash_core.c b/drivers/cam_sensor_module/cam_flash/cam_flash_core.c index c9a0d611e6..adc7f0d86c 100644 --- a/drivers/cam_sensor_module/cam_flash/cam_flash_core.c +++ b/drivers/cam_sensor_module/cam_flash/cam_flash_core.c @@ -466,8 +466,6 @@ int cam_flash_off(struct cam_flash_ctrl *flash_ctrl) if (flash_ctrl->switch_trigger) cam_res_mgr_led_trigger_event(flash_ctrl->switch_trigger, (enum led_brightness)LED_SWITCH_OFF); - - flash_ctrl->flash_state = CAM_FLASH_STATE_START; return 0; } @@ -1829,6 +1827,7 @@ void cam_flash_shutdown(struct cam_flash_ctrl *fctrl) if ((fctrl->flash_state == CAM_FLASH_STATE_CONFIG) || (fctrl->flash_state == CAM_FLASH_STATE_START)) { fctrl->func_tbl.flush_req(fctrl, FLUSH_ALL, 0); + cam_flash_off(fctrl); if (fctrl->func_tbl.power_ops) { rc = fctrl->func_tbl.power_ops(fctrl, false); if (rc) diff --git a/drivers/cam_sensor_module/cam_flash/cam_flash_dev.c b/drivers/cam_sensor_module/cam_flash/cam_flash_dev.c index 320caa6d9c..3d2ef84a2a 100644 --- a/drivers/cam_sensor_module/cam_flash/cam_flash_dev.c +++ b/drivers/cam_sensor_module/cam_flash/cam_flash_dev.c @@ -176,9 +176,9 @@ static int32_t cam_flash_driver_cmd(struct cam_flash_ctrl *fctrl, goto release_mutex; } - cam_flash_off(fctrl); fctrl->func_tbl.flush_req(fctrl, FLUSH_ALL, 0); fctrl->last_flush_req = 0; + cam_flash_off(fctrl); fctrl->flash_state = CAM_FLASH_STATE_ACQUIRE; break; }