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

Commit a8e19f38 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: sensor: Validate i2c_frq_mode in msm_cci_get_clk_rates"

parents 9671e3c3 012e37bf
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -115,15 +115,16 @@ static int32_t msm_cci_set_clk_param(struct cci_device *cci_dev,
	enum cci_i2c_master_t master = c_ctrl->cci_info->cci_i2c_master;
	enum i2c_freq_mode_t i2c_freq_mode = c_ctrl->cci_info->i2c_freq_mode;

	clk_params = &cci_dev->cci_clk_params[i2c_freq_mode];

	if ((i2c_freq_mode >= I2C_MAX_MODES) || (i2c_freq_mode < 0)) {
		pr_err("%s:%d invalid i2c_freq_mode = %d",
			__func__, __LINE__, i2c_freq_mode);
		return -EINVAL;
	}

	if (cci_dev->i2c_freq_mode[master] == i2c_freq_mode)
		return 0;

	clk_params = &cci_dev->cci_clk_params[i2c_freq_mode];
	if (MASTER_0 == master) {
		msm_camera_io_w_mb(clk_params->hw_thigh << 16 |
			clk_params->hw_tlow,
@@ -1196,6 +1197,13 @@ static uint32_t *msm_cci_get_clk_rates(struct cci_device *cci_dev,
	struct msm_cci_clk_params_t *clk_params = NULL;
	enum i2c_freq_mode_t i2c_freq_mode = c_ctrl->cci_info->i2c_freq_mode;
	struct device_node *of_node = cci_dev->pdev->dev.of_node;

	if ((i2c_freq_mode >= I2C_MAX_MODES) || (i2c_freq_mode < 0)) {
		pr_err("%s:%d invalid i2c_freq_mode %d\n",
			__func__, __LINE__, i2c_freq_mode);
		return NULL;
	}

	clk_params = &cci_dev->cci_clk_params[i2c_freq_mode];
	cci_clk_src = clk_params->cci_clk_src;