diff options
author | Takashi Iwai <tiwai@suse.de> | 2018-07-04 16:08:05 +0300 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2018-07-04 16:34:59 +0300 |
commit | e647f5a5c5d165c87750e8c0dcbe341b5a378ffd (patch) | |
tree | ea8b6fe2e8fb03060f2886fe4166a1014d25154b /sound/core/pcm.c | |
parent | 9cd641ed31f576d08f7b784850ba93eef050f32f (diff) | |
download | linux-e647f5a5c5d165c87750e8c0dcbe341b5a378ffd.tar.xz |
ALSA: pcm: Use snd_pcm_stop_xrun() for xrun injection
Basically the xrun injection routine can simply call the standard
helper snd_pcm_stop_xrun(), but with one exception: it may be called
even when the stream is closed.
Make snd_pcm_stop_xrun() more robust and check the NULL runtime state,
and simplify xrun injection code by calling it.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/core/pcm.c')
-rw-r--r-- | sound/core/pcm.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/sound/core/pcm.c b/sound/core/pcm.c index 6f037a4b8b52..fdb9b92fc8d6 100644 --- a/sound/core/pcm.c +++ b/sound/core/pcm.c @@ -492,13 +492,8 @@ static void snd_pcm_xrun_injection_write(struct snd_info_entry *entry, struct snd_info_buffer *buffer) { struct snd_pcm_substream *substream = entry->private_data; - struct snd_pcm_runtime *runtime; - snd_pcm_stream_lock_irq(substream); - runtime = substream->runtime; - if (runtime && runtime->status->state == SNDRV_PCM_STATE_RUNNING) - __snd_pcm_xrun(substream); - snd_pcm_stream_unlock_irq(substream); + snd_pcm_stop_xrun(substream); } static void snd_pcm_xrun_debug_read(struct snd_info_entry *entry, |