diff mbox

[v2] ASoC: wm_adsp: Check return value from wm_adsp_buffer_init

Message ID 1479829114-11579-1-git-send-email-ckeepax@opensource.wolfsonmicro.com (mailing list archive)
State Accepted
Commit 48c2c99359044763b0cf21e59405638f9630fe06
Headers show

Commit Message

Charles Keepax Nov. 22, 2016, 3:38 p.m. UTC
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>
---

Changes since v1:
 - Add unlock of the mutex on the error path

Thanks,
Charles

 sound/soc/codecs/wm_adsp.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

Comments

Takashi Sakamoto Nov. 22, 2016, 8:17 p.m. UTC | #1
On Nov 22 2016 17:38, Charles Keepax wrote:
> 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>
> ---
> 
> Changes since v1:
>  - Add unlock of the mutex on the error path
> 
> Thanks,
> Charles
> 
>  sound/soc/codecs/wm_adsp.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/sound/soc/codecs/wm_adsp.c b/sound/soc/codecs/wm_adsp.c
> index 6ccb731..e00ccfc 100644
> --- a/sound/soc/codecs/wm_adsp.c
> +++ b/sound/soc/codecs/wm_adsp.c
> @@ -2580,8 +2580,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);

Reviewed-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>


Regards

Takashi Sakamoto @ UTC+2
diff mbox

Patch

diff --git a/sound/soc/codecs/wm_adsp.c b/sound/soc/codecs/wm_adsp.c
index 6ccb731..e00ccfc 100644
--- a/sound/soc/codecs/wm_adsp.c
+++ b/sound/soc/codecs/wm_adsp.c
@@ -2580,8 +2580,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);