diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c index 263c01a70fdd413eeebc7dba28f98d4edf14a8fc..7bac1cbe38da4a122478ace0af3855422f805e83 100644 --- a/sound/core/pcm_native.c +++ b/sound/core/pcm_native.c @@ -1073,6 +1073,9 @@ int snd_pcm_suspend(struct snd_pcm_substream *substream) int err; unsigned long flags; + if (! substream) + return 0; + snd_pcm_stream_lock_irqsave(substream, flags); err = snd_pcm_action(&snd_pcm_action_suspend, substream, 0); snd_pcm_stream_unlock_irqrestore(substream, flags); @@ -1091,6 +1094,9 @@ int snd_pcm_suspend_all(struct snd_pcm *pcm) struct snd_pcm_substream *substream; int stream, err = 0; + if (! pcm) + return 0; + for (stream = 0; stream < 2; stream++) { for (substream = pcm->streams[stream].substream; substream; substream = substream->next) {