diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c index b67f6fe08a1be410a4fa77e3b7aceb8ea5c8420c..e08c6c6ca0292d11a5661f8baebe61cead24f197 100644 --- a/sound/core/pcm_native.c +++ b/sound/core/pcm_native.c @@ -1513,6 +1513,14 @@ int snd_pcm_suspend_all(struct snd_pcm *pcm) /* FIXME: the open/close code should lock this as well */ if (substream->runtime == NULL) continue; + + /* + * Skip BE dai link PCM's that are internal and may + * not have their substream ops set. + */ + if (!substream->ops) + continue; + err = snd_pcm_suspend(substream); if (err < 0 && err != -EBUSY) return err;