Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit daadb4d0 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: camera: Unlock the VFE kernel driver while waiting"

parents 665500fb f5d72da9
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -1699,8 +1699,10 @@ static int msm_isp_start_axi_stream(struct vfe_device *vfe_dev,
	}

	if (wait_for_complete) {
		mutex_unlock(&vfe_dev->core_mutex);
		rc = msm_isp_axi_wait_for_cfg_done(vfe_dev, camif_update,
			src_mask, 2);
		mutex_lock(&vfe_dev->core_mutex);
		if (rc < 0)
			pr_err("%s: wait for config done failed\n", __func__);
	}
@@ -1770,8 +1772,10 @@ static int msm_isp_stop_axi_stream(struct vfe_device *vfe_dev,
	}

	if (src_mask) {
		mutex_unlock(&vfe_dev->core_mutex);
		rc = msm_isp_axi_wait_for_cfg_done(vfe_dev, camif_update,
			src_mask, 2);
		mutex_lock(&vfe_dev->core_mutex);
		if (rc < 0) {
			pr_err("%s: wait for config done failed\n", __func__);
			for (i = 0; i < stream_cfg_cmd->num_streams; i++) {
@@ -2120,9 +2124,11 @@ int msm_isp_update_axi_stream(struct vfe_device *vfe_dev, void *arg)

			if (stream_info->state == ACTIVE) {
				stream_info->state = UPDATING;
				mutex_unlock(&vfe_dev->core_mutex);
				rc = msm_isp_axi_wait_for_cfg_done(vfe_dev,
					NO_UPDATE, (1 << SRC_TO_INTF(
					stream_info->stream_src)), 2);
				mutex_lock(&vfe_dev->core_mutex);
				if (rc < 0)
					pr_err("%s: wait for update failed\n",
						__func__);