ALSA: pcm: Add snd_pcm_stop_xrun() helper

Add a new helper function snd_pcm_stop_xrun() to the standard sequnce
lock/snd_pcm_stop(XRUN)/unlock by a single call, and replace the
existing open codes with this helper.

The function checks the PCM running state to prevent setting the wrong
state, too, for more safety.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Takashi Iwai
2014-11-07 17:08:28 +01:00
والد 31584ed18c
کامیت 1fb8510cdb
15فایلهای تغییر یافته به همراه46 افزوده شده و 78 حذف شده

مشاهده پرونده

@@ -769,10 +769,7 @@ static void snd_card_asihpi_timer_function(unsigned long data)
s->number);
ds->drained_count++;
if (ds->drained_count > 20) {
unsigned long flags;
snd_pcm_stream_lock_irqsave(s, flags);
snd_pcm_stop(s, SNDRV_PCM_STATE_XRUN);
snd_pcm_stream_unlock_irqrestore(s, flags);
snd_pcm_stop_xrun(s);
continue;
}
} else {