linux/sound/soc
Xiyu Yang 36124fb19f
ASoC: fsl_asrc_dma: Fix dma_chan leak when config DMA channel failed
fsl_asrc_dma_hw_params() invokes dma_request_channel() or
fsl_asrc_get_dma_channel(), which returns a reference of the specified
dma_chan object to "pair->dma_chan[dir]" with increased refcnt.

The reference counting issue happens in one exception handling path of
fsl_asrc_dma_hw_params(). When config DMA channel failed for Back-End,
the function forgets to decrease the refcnt increased by
dma_request_channel() or fsl_asrc_get_dma_channel(), causing a refcnt
leak.

Fix this issue by calling dma_release_channel() when config DMA channel
failed.

Signed-off-by: Xiyu Yang <xiyuyang19@fudan.edu.cn>
Signed-off-by: Xin Tan <tanxin.ctf@gmail.com>
Link: https://lore.kernel.org/r/1590415966-52416-1-git-send-email-xiyuyang19@fudan.edu.cn
Signed-off-by: Mark Brown <broonie@kernel.org>
2020-05-29 13:30:07 +01:00
..
adi
amd ASoC: amd: Removing unnecessary instance initialization 2020-05-28 13:20:20 +01:00
atmel ASoC: atomel: use snd_soc_xxx_active() 2020-05-18 16:15:04 +01:00
au1x ASoC: au1x: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:32 +00:00
bcm ASoC: bcm: use snd_soc_xxx_active() 2020-05-18 16:15:05 +01:00
cirrus ASoC: cirrus: use snd_soc_xxx_active() 2020-05-18 16:15:06 +01:00
codecs ASoC: rt1015: Enable class-D silence and clock detections 2020-05-29 13:30:06 +01:00
dwc ASoC: dwc: use snd_soc_xxx_active() 2020-05-18 16:15:15 +01:00
fsl ASoC: fsl_asrc_dma: Fix dma_chan leak when config DMA channel failed 2020-05-29 13:30:07 +01:00
generic ASoC: generic: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:36 +00:00
hisilicon ASoC: hisilicon: Use the defined variable to clean code 2020-04-27 14:08:44 +01:00
img ASoC: img-i2s-out: Fix runtime PM imbalance on error 2020-05-29 13:30:04 +01:00
intel ASoC: rt5682: split i2c driver into separate module 2020-05-28 13:20:19 +01:00
jz4740 ASoC: ingenic: Unconditionally depend on devicetree 2020-05-28 13:20:17 +01:00
kirkwood ASoC: kirkwood: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:39 +00:00
mediatek ASoC: mediatek: use snd_soc_xxx_active() 2020-05-18 16:15:11 +01:00
meson ASoC: meson: use snd_soc_xxx_active() 2020-05-18 16:15:11 +01:00
mxs ASoC: mxs-saif: Fix unused assignment 2020-04-29 14:23:19 +01:00
pxa ASoC: mmp-sspa: Fix return value check in asoc_mmp_sspa_probe() 2020-05-27 14:48:56 +01:00
qcom ASoC: qcom: lpass-cpu: Make I2S SD lines configurable 2020-05-05 13:17:23 +01:00
rockchip ASoC: rockchip: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:45 +00:00
samsung ASoC: samsung: s3c24xx-i2s: Fix build after removal of DAI suspend/resume 2020-04-14 12:16:22 +01:00
sh SoC: rsnd: add interrupt support for SSI BUSIF buffer 2020-05-12 10:56:21 +01:00
sirf
sof ASoC: SOF: Intel: BYT: harden IPC initialization and handling 2020-05-27 14:06:59 +01:00
spear
sprd ASoC: sprd: use snd_compress_ops 2020-04-21 19:01:59 +01:00
sti ASoC: sti: sti_uniperif: move .suspend/.resume to component 2020-01-21 17:04:37 +00:00
stm ASoC: stm32: sai: fix sai probe 2020-04-17 19:37:14 +01:00
sunxi ASoC: sunxi: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:50 +00:00
tegra ASoC: tegra: tegra_wm8903: Use devm_snd_soc_register_card() 2020-04-28 16:40:36 +01:00
ti ASoC: ti: Fix runtime PM imbalance in omap2_mcbsp_set_clks_src 2020-05-26 17:20:22 +01:00
txx9 ASoC: txx9: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:53 +00:00
uniphier ASoC: uniphier: use snd_soc_xxx_active() 2020-05-18 16:15:14 +01:00
ux500 ASoC: ux500: mop500: Fix some refcounted resources issues 2020-05-12 17:14:34 +01:00
xilinx ASoC: xilinx: Use managed buffer allocation 2019-12-11 16:43:25 +00:00
xtensa ASoC: xtensa: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:55 +00:00
zte ASoC: zte: zx-tdm: remove redundant variables dev 2020-03-11 17:59:49 +00:00
Kconfig
Makefile ASoC: add soc-link.c 2020-05-25 14:22:08 +01:00
soc-ac97.c
soc-acpi.c
soc-component.c ASoC: soc-component: tidyup snd_soc_pcm_component_sync_stop() 2020-02-28 17:06:09 +00:00
soc-compress.c ASoC: soc-link: add snd_soc_link_compr_set_params() 2020-05-25 14:22:14 +01:00
soc-core.c ASoC: soc-link: add snd_soc_link_be_hw_params_fixup() 2020-05-25 14:22:11 +01:00
soc-dai.c ASoC: soc-link: add snd_soc_link_be_hw_params_fixup() 2020-05-25 14:22:11 +01:00
soc-dapm.c ASoC: soc-dapm: use snd_soc_dai_activate()/deactivate() 2020-05-18 16:15:00 +01:00
soc-devres.c
soc-generic-dmaengine-pcm.c ASoC: soc: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-04-14 14:00:44 +01:00
soc-io.c
soc-jack.c ASoC: Jack: Fix NULL pointer dereference in snd_soc_jack_report 2019-11-12 17:12:56 +00:00
soc-link.c ASoC: soc-link: add snd_soc_link_compr_set_params() 2020-05-25 14:22:14 +01:00
soc-ops.c ASoC: fix regwmask 2020-03-30 18:22:36 +01:00
soc-pcm.c ASoC: soc-link: add snd_soc_link_be_hw_params_fixup() 2020-05-25 14:22:11 +01:00
soc-topology.c Merge series "Add support for SOF on i.MX8M" from Daniel Baluta <daniel.baluta@oss.nxp.com> 2020-04-16 00:23:20 +01:00
soc-utils.c ASoC: utils: Drop superfluous ioctl PCM ops 2019-12-11 16:00:48 +00:00