android_kernel_asus_sm8350/drivers/dma
zhangqilong 6d6271dbbb dmaengine: mediatek:Fix PM usage reference leak of mtk_uart_apdma_alloc_chan_resources
[ Upstream commit 545b2baac89b859180e51215468c05d85ea8465a ]

pm_runtime_get_sync will increment pm usage counter even it failed.
Forgetting to putting operation will result in reference leak here.
We fix it:
1) Replacing it with pm_runtime_resume_and_get to keep usage counter
   balanced.
2) Add putting operation before returning error.

Fixes:9135408c3ace4 ("dmaengine: mediatek: Add MediaTek UART APDMA support")
Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com>
Link: https://lore.kernel.org/r/20220319022142.142709-1-zhangqilong3@huawei.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-04-27 13:50:46 +02:00
..
bestcomm
dw dmaengine: dw: Make it dependent to HAS_IOMEM 2021-04-21 12:56:13 +02:00
dw-axi-dmac
dw-edma dmaengine: dw-edma: Fix crash on loading/unloading driver 2021-05-22 11:38:28 +02:00
hsu dmaengine: hsu: disable spurious interrupt 2021-03-04 10:26:28 +01:00
ioat dmaengine: ioat setting ioat timeout as module parameter 2020-07-29 10:18:37 +02:00
ipu
mediatek dmaengine: mediatek:Fix PM usage reference leak of mtk_uart_apdma_alloc_chan_resources 2022-04-27 13:50:46 +02:00
ppc4xx
qcom dmaengine: QCOM_HIDMA_MGMT depends on HAS_IOMEM 2021-06-23 14:41:23 +02:00
sh dmaengine: Revert "dmaengine: shdma: Fix runtime PM imbalance on error" 2022-04-15 14:18:40 +02:00
ti
xilinx dmaengine: xilinx_dma: Set DMA mask for coherent APIs 2021-09-26 14:07:11 +02:00
acpi-dma.c dmaengine: acpi: Avoid comparison GSI with Linux vIRQ 2021-09-26 14:07:08 +02:00
altera-msgdma.c
amba-pl08x.c
at_hdmac_regs.h
at_hdmac.c dmaengine: at_hdmac: add missing kfree() call in at_dma_xlate() 2021-01-09 13:44:54 +01:00
at_xdmac.c dmaengine: at_xdmac: Start transfer for cyclic channels in issue_pending 2022-02-23 11:59:57 +01:00
bcm2835-dma.c
bcm-sba-raid.c
coh901318_lli.c
coh901318.c dmaengine: coh901318: Fix a double lock bug in dma_tc_handle() 2020-03-12 13:00:30 +01:00
coh901318.h
dma-axi-dmac.c
dma-jz4780.c dmaengine: dma-jz4780: Fix race in jz4780_dma_tx_status 2020-11-05 11:43:29 +01:00
dmaengine.c dmaengine: Store module owner in dma_device struct 2020-02-24 08:36:40 +01:00
dmaengine.h dmaengine: dmaengine_desc_callback_valid(): Check for callback_result 2021-11-17 09:48:46 +01:00
dmatest.c dmaengine: dmatest: Check list for emptiness before access its last entry 2020-10-29 09:57:41 +01:00
ep93xx_dma.c
fsl_raid.c
fsl_raid.h
fsl-edma-common.c dmaengine: fsl-edma: fix wrong tcd endianness for big-endian cpu 2020-07-29 10:18:37 +02:00
fsl-edma-common.h dmaengine: fsl-edma-common: correct DSIZE_32BYTE 2020-07-22 09:33:15 +02:00
fsl-edma.c dmaengine: fsl-edma: Fix NULL pointer exception in fsl_edma_tx_handler 2020-07-22 09:33:15 +02:00
fsl-qdma.c dmaengine: fsl-qdma: check dma_set_mask return value 2021-07-20 16:10:40 +02:00
fsldma.c dmaengine: fsldma: Fix a resource leak in an error handling path of the probe function 2021-03-04 10:26:28 +01:00
fsldma.h fsldma: fix very broken 32-bit ppc ioread64 functionality 2020-09-09 19:12:22 +02:00
idma64.c
idma64.h
img-mdc-dma.c
imx-dma.c dmaengine: imx-dma: configure the generic DMA type to make it work 2021-08-12 13:20:56 +02:00
imx-sdma.c dmaengine: imx-sdma: Fix error checking in sdma_event_remap 2022-04-27 13:50:46 +02:00
iop-adma.c
iop-adma.h
k3dma.c
Kconfig dmaengine: ioat: depends on !UML 2021-09-26 14:07:11 +02:00
lpc18xx-dmamux.c
Makefile
mcf-edma.c dmaengine: mcf-edma: Fix NULL pointer exception in mcf_edma_tx_handler 2020-07-22 09:33:15 +02:00
mic_x100_dma.c
mic_x100_dma.h
mmp_pdma.c dmaengine: pxa/mmp: stop referencing config->slave_id 2022-01-27 09:19:39 +01:00
mmp_tdma.c dmaengine: mmp_tdma: Reset channel error on release 2020-05-20 08:20:14 +02:00
moxart-dma.c
mpc512x_dma.c
mv_xor_v2.c dmaengine: mv_xor_v2: Fix error return code in mv_xor_v2_probe() 2020-12-30 11:51:12 +01:00
mv_xor.c
mv_xor.h
mxs-dma.c
nbpfaxi.c
of-dma.c dmaengine: of-dma: router_xlate to return -EPROBE_DEFER if controller is not yet available 2021-08-26 08:36:13 -04:00
owl-dma.c dmaengine: owl-dma: Fix a resource leak in the remove function 2021-03-04 10:26:28 +01:00
pch_dma.c dmaengine: pch_dma.c: Avoid data race between probe and irq handler 2020-05-20 08:20:13 +02:00
pl330.c dmaengine: pl330: fix wrong usage of spinlock flags in dma_cyclc 2021-06-23 14:41:29 +02:00
pxa_dma.c dmaengine: pxa/mmp: stop referencing config->slave_id 2022-01-27 09:19:39 +01:00
s3c24xx-dma.c
sa11x0-dma.c
sirf-dma.c
sprd-dma.c dmaengine: sprd: Add missing MODULE_DEVICE_TABLE 2021-09-26 14:07:10 +02:00
st_fdma.c dmaengine: st_fdma: fix MODULE_ALIAS 2021-12-22 09:29:36 +01:00
st_fdma.h
ste_dma40_ll.c
ste_dma40_ll.h
ste_dma40.c dmaengine: stedma40: add missing iounmap() on error in d40_probe() 2021-06-23 14:41:23 +02:00
stm32-dma.c dmaengine: stm32-dma: use vchan_terminate_vdesc() in .terminate_all 2020-10-01 13:17:36 +02:00
stm32-dmamux.c
stm32-mdma.c dmaengine: stm32-mdma: fix STM32_MDMA_CTBR_TSEL_MASK 2022-01-27 09:19:52 +01:00
sun4i-dma.c
sun6i-dma.c
tegra20-apb-dma.c dmaengine: tegra-apb: Prevent race conditions on channel's freeing 2020-10-01 13:17:36 +02:00
tegra210-adma.c dmaengine: tegra210-adma: Fix runtime PM imbalance on error 2020-07-29 10:18:36 +02:00
timb_dma.c
TODO
txx9dmac.c
txx9dmac.h
uniphier-mdmac.c
virt-dma.c
virt-dma.h
xgene-dma.c
zx_dma.c