diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c index c6698efb44c..0e972485449 100644 --- a/sound/core/pcm_native.c +++ b/sound/core/pcm_native.c @@ -2036,6 +2036,12 @@ int snd_pcm_open_substream(struct snd_pcm *pcm, int stream, goto error; } + if (substream->ops == NULL) { + snd_printd("cannot open back end PCMs directly\n"); + err = -ENODEV; + goto error; + } + if ((err = substream->ops->open(substream)) < 0) goto error;