ASoC: wm_adsp: Check return value from wm_adsp_buffer_init
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
Tue, 22 Nov 2016 15:38:34 +0000 (15:38 +0000)
committerMark Brown <broonie@kernel.org>
Tue, 22 Nov 2016 18:41:33 +0000 (18:41 +0000)
We are not checking the return value from a call to wm_adsp_buffer_init
it looks like this used to be returned at the bottom of the function but
probably got missed when more error paths were added. This patch adds
the appropriate error check.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/wm_adsp.c

index 6e6b9d83833240ef4a542d7453554345959a776a..ff111a82fa3fd8d53f9ab61da1372c1fb33706dc 100644 (file)
@@ -2575,8 +2575,13 @@ int wm_adsp2_event(struct snd_soc_dapm_widget *w,
 
                mutex_lock(&dsp->pwr_lock);
 
-               if (wm_adsp_fw[dsp->fw].num_caps != 0)
+               if (wm_adsp_fw[dsp->fw].num_caps != 0) {
                        ret = wm_adsp_buffer_init(dsp);
+                       if (ret < 0) {
+                               mutex_unlock(&dsp->pwr_lock);
+                               goto err;
+                       }
+               }
 
                mutex_unlock(&dsp->pwr_lock);