From: Takashi Sakamoto Date: Wed, 13 Jul 2016 14:15:23 +0000 (+0900) Subject: pcm: fix return value of snd_pcm_ioplug_sw_params() X-Git-Tag: v1.1.2~77 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=941bd150bef2560f3e38a3bf74d546447e3126d1;p=alsa-lib.git pcm: fix return value of snd_pcm_ioplug_sw_params() In former commits for thread-safe PCM APIs, snd_pcm_ioplug_sw_params() got 0 as its return value, against the original implementation. This commit fixes it. Fixes: 54931e5a5455('pcm: Add thread-safety to PCM API') Signed-off-by: Takashi Sakamoto Signed-off-by: Takashi Iwai --- diff --git a/src/pcm/pcm_ioplug.c b/src/pcm/pcm_ioplug.c index 115d89bc..1dc198e7 100644 --- a/src/pcm/pcm_ioplug.c +++ b/src/pcm/pcm_ioplug.c @@ -434,14 +434,16 @@ static int snd_pcm_ioplug_hw_free(snd_pcm_t *pcm) static int snd_pcm_ioplug_sw_params(snd_pcm_t *pcm, snd_pcm_sw_params_t *params) { ioplug_priv_t *io = pcm->private_data; - int err = 0; + int err; - if (io->data->callback->sw_params) { - snd_pcm_unlock(pcm); /* to avoid deadlock */ - err = io->data->callback->sw_params(io->data, params); - snd_pcm_lock(pcm); - } - return 0; + if (!io->data->callback->sw_params) + return 0; + + snd_pcm_unlock(pcm); /* to avoid deadlock */ + err = io->data->callback->sw_params(io->data, params); + snd_pcm_lock(pcm); + + return err; }