[alsa-devel] [PATCH] firewire-motu: fix double unlocked 'motu->mutex'
Takashi Sakamoto
o-takashi at sakamocchi.jp
Mon Dec 9 03:51:24 CET 2019
Oops. I forgot to add 'ALSA: ' prefix to the subject line. I'm sorry but would I
request maintainers to add it when applying...
On Mon, Dec 9, 2019, at 08:22, Takashi Sakamoto wrote:
> Mutex is doubly unlocked in some error path of pcm.open. This commit fixes
> ALSA firewire-motu driver in Linux kernel v5.5.
>
> Reported-by: kbuild test robot <lkp at intel.com>
> Reported-by: Dan Carpenter <dan.carpenter at oracle.com>
> Fixes: 3fd80b200388 ("ALSA: firewire-motu: use the same size of period
> for PCM substream in AMDTP streams")
> Fixes: 0f5482e7875b ("ALSA: firewire-motu: share PCM buffer size for
> both direction")
> Signed-off-by: Takashi Sakamoto <o-takashi at sakamocchi.jp>
> ---
> sound/firewire/motu/motu-pcm.c | 8 ++------
> 1 file changed, 2 insertions(+), 6 deletions(-)
>
> diff --git a/sound/firewire/motu/motu-pcm.c b/sound/firewire/motu/motu-pcm.c
> index 349b4d09e84f..005970931030 100644
> --- a/sound/firewire/motu/motu-pcm.c
> +++ b/sound/firewire/motu/motu-pcm.c
> @@ -177,18 +177,14 @@ static int pcm_open(struct snd_pcm_substream *substream)
> err = snd_pcm_hw_constraint_minmax(substream->runtime,
> SNDRV_PCM_HW_PARAM_PERIOD_SIZE,
> frames_per_period, frames_per_period);
> - if (err < 0) {
> - mutex_unlock(&motu->mutex);
> + if (err < 0)
> goto err_locked;
> - }
>
> err = snd_pcm_hw_constraint_minmax(substream->runtime,
> SNDRV_PCM_HW_PARAM_BUFFER_SIZE,
> frames_per_buffer, frames_per_buffer);
> - if (err < 0) {
> - mutex_unlock(&motu->mutex);
> + if (err < 0)
> goto err_locked;
> - }
> }
> }
>
> --
> 2.20.1
>
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> https://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>
More information about the Alsa-devel
mailing list