]> git.alsa-project.org Git - alsa-lib.git/commitdiff
pcm: fix return value of snd_pcm_ioplug_sw_params()
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Wed, 13 Jul 2016 14:15:23 +0000 (23:15 +0900)
committerTakashi Iwai <tiwai@suse.de>
Wed, 13 Jul 2016 14:37:01 +0000 (16:37 +0200)
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 <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
src/pcm/pcm_ioplug.c

index 115d89bc3c02944ba4ccf97b4e13adcec35d72b7..1dc198e7c99c933264fa25c9d7dbac5153bf0860 100644 (file)
@@ -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;
 }