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

Commit 3c97f0c6 authored by Deven Patel's avatar Deven Patel
Browse files

ASoC: codecs: Fix possible null pointer dereference



MCLK2 clk node may not be instantiated on some target. Add the proper
check to avoid potential null pointer dereference.

Change-Id: I37e48a5a5df64c114885129c684264d153cba1a2
Signed-off-by: default avatarDeven Patel <cdevenp@codeaurora.org>
parent e551e7a6
Loading
Loading
Loading
Loading
+15 −11
Original line number Diff line number Diff line
@@ -243,6 +243,7 @@ static int audio_ext_lpass_mclk2_prepare(struct clk *clk)
	audio_lpass_mclk2 = container_of(clk, struct audio_ext_lpass_mclk, c);
	pnctrl_info = &audio_lpass_mclk2->pnctrl_info;

	if (pnctrl_info->pinctrl) {
		ret = pinctrl_select_state(pnctrl_info->pinctrl,
					   pnctrl_info->active);
		if (ret) {
@@ -250,6 +251,7 @@ static int audio_ext_lpass_mclk2_prepare(struct clk *clk)
				__func__, ret);
			return -EIO;
		}
	}

	lpass_default2.enable = 1;
	ret = afe_set_lpass_clk_cfg(IDX_RSVD_3, &lpass_default2);
@@ -270,11 +272,13 @@ static void audio_ext_lpass_mclk2_unprepare(struct clk *clk)
	audio_lpass_mclk2 = container_of(clk, struct audio_ext_lpass_mclk, c);
	pnctrl_info = &audio_lpass_mclk2->pnctrl_info;

	if (pnctrl_info->pinctrl) {
		ret = pinctrl_select_state(pnctrl_info->pinctrl,
					   pnctrl_info->sleep);
		if (ret)
			pr_err("%s: sleep state select failed with %d\n",
				__func__, ret);
	}

	lpass_default2.enable = 0;
	ret = afe_set_lpass_clk_cfg(IDX_RSVD_3, &lpass_default2);