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

Commit 18b6f2de authored by Katta Santhisindhu's avatar Katta Santhisindhu
Browse files

msm-camera: Use waiteventinterruptibletimeout during sensor init.



If sensor probe fails VIDIOC_MSM_SENSOR_INIT_CFG ioctl is
blocking, so modifying wait_event_interruptible call to
wait_event_interruptible_timeout.

CRs-Fixed: 666077

Change-Id: Ib6c2e73872494d0410f119b22ae796431a2810df
Signed-off-by: default avatarKatta Santhisindhu <kattas@codeaurora.org>
parent 1559d923
Loading
Loading
Loading
Loading
+8 −10
Original line number Diff line number Diff line
@@ -42,21 +42,19 @@ static const struct v4l2_subdev_internal_ops msm_sensor_init_internal_ops;
static int msm_sensor_wait_for_probe_done(struct msm_sensor_init_t *s_init)
{
	int rc;

	int tm = 10000;
	if (s_init->module_init_status == 1) {
		pr_err("msm_cam_get_module_init_status -2\n");
		return 0;
	}

	while (1) {
		rc = wait_event_interruptible(s_init->state_wait,
			(s_init->module_init_status == 1));
		if (rc == -ETIMEDOUT)
			continue;
	rc = wait_event_interruptible_timeout(s_init->state_wait,
		(s_init->module_init_status == 1), msecs_to_jiffies(tm));
	if (rc < 0)
		pr_err("%s:%d wait failed\n", __func__, __LINE__);
	else if (rc == 0)
			break;
	}
	return 0;
		pr_err("%s:%d wait timeout\n", __func__, __LINE__);

	return rc;
}

/* Static function definition */