From b7cc9e62cc56a13607242acb0601c9d12c0df46e Mon Sep 17 00:00:00 2001 From: Yeleswarapu Nagaradhesh Date: Wed, 27 Jul 2016 00:23:40 +0530 Subject: [PATCH] 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 --- sound/soc/codecs/audio-ext-clk.c | 7 +++++++ 1 file changed, 7 insertions(+) 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)