diff options
| author | Yeleswarapu Nagaradhesh <nagaradh@codeaurora.org> | 2016-07-27 00:23:40 +0530 |
|---|---|---|
| committer | Yeleswarapu Nagaradhesh <nagaradh@codeaurora.org> | 2016-07-27 00:34:21 +0530 |
| commit | b7cc9e62cc56a13607242acb0601c9d12c0df46e (patch) | |
| tree | 6faaf7bd483746cd1b81279ab98f08a3ef417f4d | |
| parent | 7eb20e5733b82473d2d1e9e59aa42989e73f3c70 (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-x | sound/soc/codecs/audio-ext-clk.c | 7 |
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) |
