diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c index 7dc0060617f1..d4e04b5088c5 100644 --- a/sound/core/pcm_native.c +++ b/sound/core/pcm_native.c @@ -3907,6 +3907,8 @@ static vm_fault_t snd_pcm_mmap_data_fault(struct vm_fault *vmf) if (substream == NULL) return VM_FAULT_SIGBUS; runtime = substream->runtime; + if (runtime->state == SNDRV_PCM_STATE_DISCONNECTED) + return VM_FAULT_SIGBUS; offset = vmf->pgoff << PAGE_SHIFT; dma_bytes = PAGE_ALIGN(runtime->dma_bytes); if (offset > dma_bytes - PAGE_SIZE)