|
@@ -392,8 +392,11 @@ static int snd_line6_pcm_free(struct snd_device *device)
|
|
|
*/
|
|
|
static void pcm_disconnect_substream(struct snd_pcm_substream *substream)
|
|
|
{
|
|
|
- if (substream->runtime && snd_pcm_running(substream))
|
|
|
+ if (substream->runtime && snd_pcm_running(substream)) {
|
|
|
+ snd_pcm_stream_lock_irq(substream);
|
|
|
snd_pcm_stop(substream, SNDRV_PCM_STATE_DISCONNECTED);
|
|
|
+ snd_pcm_stream_unlock_irq(substream);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/*
|