summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYeleswarapu Nagaradhesh <nagaradh@codeaurora.org>2016-07-27 00:23:40 +0530
committerYeleswarapu Nagaradhesh <nagaradh@codeaurora.org>2016-07-27 00:34:21 +0530
commitb7cc9e62cc56a13607242acb0601c9d12c0df46e (patch)
tree6faaf7bd483746cd1b81279ab98f08a3ef417f4d
parent7eb20e5733b82473d2d1e9e59aa42989e73f3c70 (diff)
ASoC: audio-ext-clk: check for null pointer de-reference
As part of clock test, prepare and unprepare functions are triggered for all the registered clock's. If clock is is not used in a flavor of target then pinctrl pointer is not valid. Hence check for pinctrl before accessing. CRs-Fixed: 1018208 Change-Id: I3afc0d86476f7a447237180fa411858782d3df1b Signed-off-by: Yeleswarapu Nagaradhesh <nagaradh@codeaurora.org>
-rwxr-xr-xsound/soc/codecs/audio-ext-clk.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sound/soc/codecs/audio-ext-clk.c b/sound/soc/codecs/audio-ext-clk.c
index 7faabcfb1db1..c422267dbf2c 100755
--- a/sound/soc/codecs/audio-ext-clk.c
+++ b/sound/soc/codecs/audio-ext-clk.c
@@ -91,6 +91,10 @@ static int audio_ext_clk2_prepare(struct clk *clk)
struct pinctrl_info *pnctrl_info = &audio_clk2->pnctrl_info;
int ret;
+
+ if (!pnctrl_info->pinctrl || !pnctrl_info->active)
+ return 0;
+
ret = pinctrl_select_state(pnctrl_info->pinctrl,
pnctrl_info->active);
if (ret) {
@@ -115,6 +119,9 @@ static void audio_ext_clk2_unprepare(struct clk *clk)
struct pinctrl_info *pnctrl_info = &audio_clk2->pnctrl_info;
int ret;
+ if (!pnctrl_info->pinctrl || !pnctrl_info->sleep)
+ return;
+
ret = pinctrl_select_state(pnctrl_info->pinctrl,
pnctrl_info->sleep);
if (ret)