Sfoglia il codice sorgente

[media] cx231xx: Fix memory leak

dma_area needs to be freed when the device is closed.

Based on em23xx-audio.c

Signed-off-by: Jean-Baptiste Theou <jtheou@adeneo-embedded.us>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Jean-Baptiste Theou 9 anni fa
parent
commit
9dd73448c6
1 ha cambiato i file con 5 aggiunte e 0 eliminazioni
  1. 5 0
      drivers/media/usb/cx231xx/cx231xx-audio.c

+ 5 - 0
drivers/media/usb/cx231xx/cx231xx-audio.c

@@ -499,6 +499,11 @@ static int snd_cx231xx_pcm_close(struct snd_pcm_substream *substream)
 	}
 
 	dev->adev.users--;
+	if (substream->runtime->dma_area) {
+		dev_dbg(dev->dev, "freeing\n");
+		vfree(substream->runtime->dma_area);
+		substream->runtime->dma_area = NULL;
+	}
 	mutex_unlock(&dev->lock);
 
 	if (dev->adev.users == 0 && dev->adev.shutdown == 1) {