mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-20 17:41:09 +00:00
ASoC: soc-generic-dmaengine-pcm: Fix error handling
When dmaengine_pcm_request_chan_of() fails it should release the previously acquired resources, which in this case is to call kfree(pcm), so jump to the correct point in the error path. Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
4e36301012
commit
f91b1e73cc
1 changed files with 2 additions and 1 deletions
|
@ -450,7 +450,7 @@ int snd_dmaengine_pcm_register(struct device *dev,
|
||||||
|
|
||||||
ret = dmaengine_pcm_request_chan_of(pcm, dev, config);
|
ret = dmaengine_pcm_request_chan_of(pcm, dev, config);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err_free_dma;
|
goto err_free_pcm;
|
||||||
|
|
||||||
ret = snd_soc_add_component(dev, &pcm->component,
|
ret = snd_soc_add_component(dev, &pcm->component,
|
||||||
&dmaengine_pcm_component, NULL, 0);
|
&dmaengine_pcm_component, NULL, 0);
|
||||||
|
@ -461,6 +461,7 @@ int snd_dmaengine_pcm_register(struct device *dev,
|
||||||
|
|
||||||
err_free_dma:
|
err_free_dma:
|
||||||
dmaengine_pcm_release_chan(pcm);
|
dmaengine_pcm_release_chan(pcm);
|
||||||
|
err_free_pcm:
|
||||||
kfree(pcm);
|
kfree(pcm);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue