Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 220d9f25 authored by Javier Martin's avatar Javier Martin Committed by Mark Brown
Browse files

ASoC: Fix DMA channel leak in imx-pcm-dma-mx2 driver.



"snd_imx_pcm_hw_params" callback can be called
several times by the user (i.e. OSS emulation)
leading to a DMA channel leak.

Signed-off-by: default avatarJavier Martin <javier.martin@vista-silicon.com>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent 36ae1a96
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -88,11 +88,13 @@ static int imx_ssi_dma_alloc(struct snd_pcm_substream *substream,
	iprtd->dma_data.dma_request = dma_params->dma;

	/* Try to grab a DMA channel */
	if (!iprtd->dma_chan) {
		dma_cap_zero(mask);
		dma_cap_set(DMA_SLAVE, mask);
		iprtd->dma_chan = dma_request_channel(mask, filter, iprtd);
		if (!iprtd->dma_chan)
			return -EINVAL;
	}

	switch (params_format(params)) {
	case SNDRV_PCM_FORMAT_S16_LE: