diff options
author | Charles Keepax <ckeepax@opensource.wolfsonmicro.com> | 2017-01-24 11:44:01 +0000 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2017-01-24 12:14:36 +0000 |
commit | d589d8b83503c1f153965f4c2747349ccca6995e (patch) | |
tree | 84c21ede178b83745e26cbfee8a9579b06bf44c8 | |
parent | e779974b86491cc938dfdcbfbf8fb363a40bc9ea (diff) | |
download | linux-d589d8b83503c1f153965f4c2747349ccca6995e.tar.gz linux-d589d8b83503c1f153965f4c2747349ccca6995e.tar.xz |
ASoC: wm_adsp: Fixup wm_adsp2_boot_work error paths
Currently we are not disabling MEM_ENA on the error path, we should
really do this to unwind the state back to how it was. This patch adds a
clear of MEM_ENA on the error path, again there is no major issues
caused by this minor fix.
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r-- | sound/soc/codecs/wm_adsp.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sound/soc/codecs/wm_adsp.c b/sound/soc/codecs/wm_adsp.c index 746a5e23cb8b..651857b529f9 100644 --- a/sound/soc/codecs/wm_adsp.c +++ b/sound/soc/codecs/wm_adsp.c @@ -2450,7 +2450,7 @@ static void wm_adsp2_boot_work(struct work_struct *work) ret = wm_adsp2_ena(dsp); if (ret != 0) - goto err_mutex; + goto err_mem; ret = wm_adsp_load(dsp); if (ret != 0) @@ -2484,6 +2484,9 @@ static void wm_adsp2_boot_work(struct work_struct *work) err_ena: regmap_update_bits(dsp->regmap, dsp->base + ADSP2_CONTROL, ADSP2_SYS_ENA | ADSP2_CORE_ENA | ADSP2_START, 0); +err_mem: + regmap_update_bits(dsp->regmap, dsp->base + ADSP2_CONTROL, + ADSP2_MEM_ENA, 0); err_mutex: mutex_unlock(&dsp->pwr_lock); } |