[alsa-devel] [PATCH] pcm: dshare: Call snd_pcm_dshare_state() directly

Takashi Iwai tiwai at suse.de
Tue May 30 17:34:45 CEST 2017


... otherwise it may be a deadlock if recursive lock isn't available.

Signed-off-by: Takashi Iwai <tiwai at suse.de>
---
 src/pcm/pcm_dshare.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/pcm/pcm_dshare.c b/src/pcm/pcm_dshare.c
index 4c57fb4a3028..7cdfea2a1572 100644
--- a/src/pcm/pcm_dshare.c
+++ b/src/pcm/pcm_dshare.c
@@ -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;
-- 
2.13.0



More information about the Alsa-devel mailing list