]> git.alsa-project.org Git - alsa-lib.git/commitdiff
pcm: dshare: Call snd_pcm_dshare_state() directly
authorTakashi Iwai <tiwai@suse.de>
Tue, 30 May 2017 15:33:17 +0000 (17:33 +0200)
committerTakashi Iwai <tiwai@suse.de>
Tue, 30 May 2017 15:33:17 +0000 (17:33 +0200)
... otherwise it may be a deadlock if recursive lock isn't available.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
src/pcm/pcm_dshare.c

index 4c57fb4a302809b8c702565db7d8798ee97b70ae..7cdfea2a157268216734abc492a7495c0c3d0abe 100644 (file)
@@ -227,6 +227,8 @@ static int snd_pcm_dshare_sync_ptr(snd_pcm_t *pcm)
  *  plugin implementation
  */
 
+static snd_pcm_state_t snd_pcm_dshare_state(snd_pcm_t *pcm);
+
 static int snd_pcm_dshare_status(snd_pcm_t *pcm, snd_pcm_status_t * status)
 {
        snd_pcm_direct_t *dshare = pcm->private_data;
@@ -244,7 +246,7 @@ static int snd_pcm_dshare_status(snd_pcm_t *pcm, snd_pcm_status_t * status)
        default:
                break;
        }
-       status->state = snd_pcm_state(pcm);
+       status->state = snd_pcm_dshare_state(pcm);
        status->trigger_tstamp = dshare->trigger_tstamp;
        status->avail = snd_pcm_mmap_playback_avail(pcm);
        status->avail_max = status->avail > dshare->avail_max ? status->avail : dshare->avail_max;