Message ID | 1479825975-7219-1-git-send-email-ckeepax@opensource.wolfsonmicro.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Charles, On Nov 22 2016 16:46, 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> > --- > sound/soc/codecs/wm_adsp.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/sound/soc/codecs/wm_adsp.c b/sound/soc/codecs/wm_adsp.c > index 6ccb731..7e4f8dd 100644 > --- a/sound/soc/codecs/wm_adsp.c > +++ b/sound/soc/codecs/wm_adsp.c > @@ -2580,8 +2580,11 @@ 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) > + goto err; > + } Need to call mutex_unlock() before jumping to err label? > > mutex_unlock(&dsp->pwr_lock); Regards Takashi Sakamoto
On Tue, Nov 22, 2016 at 05:22:17PM +0200, Takashi Sakamoto wrote: > Charles, > > On Nov 22 2016 16:46, 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> > > --- > > sound/soc/codecs/wm_adsp.c | 5 ++++- > > 1 file changed, 4 insertions(+), 1 deletion(-) > > > > diff --git a/sound/soc/codecs/wm_adsp.c b/sound/soc/codecs/wm_adsp.c > > index 6ccb731..7e4f8dd 100644 > > --- a/sound/soc/codecs/wm_adsp.c > > +++ b/sound/soc/codecs/wm_adsp.c > > @@ -2580,8 +2580,11 @@ 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) > > + goto err; > > + } > > Need to call mutex_unlock() before jumping to err label? > Thanks, will respin. Thanks, Charles
diff --git a/sound/soc/codecs/wm_adsp.c b/sound/soc/codecs/wm_adsp.c index 6ccb731..7e4f8dd 100644 --- a/sound/soc/codecs/wm_adsp.c +++ b/sound/soc/codecs/wm_adsp.c @@ -2580,8 +2580,11 @@ 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) + goto err; + } mutex_unlock(&dsp->pwr_lock);
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> --- sound/soc/codecs/wm_adsp.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)