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:
@@ -391,9 +391,7 @@ static void snd_complete_urb(struct urb *urb)
|
||||
usb_audio_err(ep->chip, "cannot submit urb (err = %d)\n", err);
|
||||
if (ep->data_subs && ep->data_subs->pcm_substream) {
|
||||
substream = ep->data_subs->pcm_substream;
|
||||
snd_pcm_stream_lock_irqsave(substream, flags);
|
||||
snd_pcm_stop(substream, SNDRV_PCM_STATE_XRUN);
|
||||
snd_pcm_stream_unlock_irqrestore(substream, flags);
|
||||
snd_pcm_stop_xrun(substream);
|
||||
}
|
||||
|
||||
exit_clear:
|
||||
|
||||
Reference in New Issue
Block a user