|
@@ -339,6 +339,11 @@ static int snd_em28xx_pcm_close(struct snd_pcm_substream *substream)
|
|
mutex_lock(&dev->lock);
|
|
mutex_lock(&dev->lock);
|
|
dev->adev.users--;
|
|
dev->adev.users--;
|
|
em28xx_audio_analog_set(dev);
|
|
em28xx_audio_analog_set(dev);
|
|
|
|
+ if (substream->runtime->dma_area) {
|
|
|
|
+ dprintk("freeing\n");
|
|
|
|
+ vfree(substream->runtime->dma_area);
|
|
|
|
+ substream->runtime->dma_area = NULL;
|
|
|
|
+ }
|
|
mutex_unlock(&dev->lock);
|
|
mutex_unlock(&dev->lock);
|
|
|
|
|
|
return 0;
|
|
return 0;
|