linux/drivers/dma
Marek Szyprowski 474809a28e dmaengine: Fix return value for dma_request_chan() in case of failure
Commit 71723a96b8 ("dmaengine: Create symlinks between DMA channels and
slaves") changed the dma_request_chan() function flow in such a way that
it always returns EPROBE_DEFER in case of channels that cannot be found.
This break the operation of the devices which have optional DMA channels
as it puts their drivers in endless deferred probe loop. Fix this by
propagating the proper error value.

Fixes: 71723a96b8 ("dmaengine: Create symlinks between DMA channels and slaves")
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20200130070834.17537-1-m.szyprowski@samsung.com
[vkoul: fix typo in patch title]
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2020-01-30 13:53:53 +05:30
..
bestcomm treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
dw dmaengine: dw: platform: Mark 'hclk' clock optional 2019-10-14 13:51:44 +05:30
dw-axi-dmac dmaengine: virt-dma: Add missing locking 2019-12-26 10:04:18 +05:30
dw-edma dmaengine: dw-edma: fix endianess confusion 2019-07-22 20:58:15 +05:30
fsl-dpaa2-qdma dmaengine: fsl-dpaa2-qdma: Remove unnecessary local variables in DPDMAI_CMD_CREATE macro 2019-11-02 22:03:01 +05:30
hsu dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
idxd dmaengine: idxd: add char driver to expose submission portal to userland 2020-01-24 11:18:45 +05:30
ioat dmaengine: ioat: Support in-use unbind 2019-12-24 10:18:37 +05:30
ipu treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mediatek dmaengine: virt-dma: Add missing locking 2019-12-26 10:04:18 +05:30
ppc4xx treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 7 2019-05-21 11:28:40 +02:00
qcom dmaengine: qcom: bam_dma: Fix resource leak 2019-10-18 13:27:58 +05:30
sf-pdma dmaengine: virt-dma: Add missing locking 2019-12-26 10:04:18 +05:30
sh dmaengine: rcar-dmac: Add dma-channel-mask property support 2019-10-14 12:26:58 +05:30
ti dmaengine: ti: k3-udma: fix spelling mistake "limted" -> "limited" 2020-01-23 17:03:29 +05:30
xilinx dmaengine: zynqmp_dma: fix burst length configuration 2020-01-21 14:49:30 +05:30
acpi-dma.c dmaengine: acpi: Add kernel doc parameter descriptions 2019-08-21 09:41:27 +05:30
altera-msgdma.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
amba-pl08x.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
at_hdmac.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
at_hdmac_regs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
at_xdmac.c dmaengine: at_xdmac: Use devm_platform_ioremap_resource() in at_xdmac_probe() 2019-10-14 13:21:20 +05:30
bcm-sba-raid.c dmaengine: bcm-sba-raid: no need to check return value of debugfs_create functions 2019-06-14 11:14:58 +05:30
bcm2835-dma.c dmaengine: bcm2835: do not call vchan_vdesc_fini() with lock held 2019-12-26 10:04:18 +05:30
coh901318.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
coh901318.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
coh901318_lli.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
dma-axi-dmac.c dmaengine: axi-dmac: add a check for devm_regmap_init_mmio 2019-12-11 16:11:50 +05:30
dma-jz4780.c dmaengine: JZ4780: Add support for the X1830. 2019-12-23 13:12:49 +05:30
dmaengine.c dmaengine: Fix return value for dma_request_chan() in case of failure 2020-01-30 13:53:53 +05:30
dmaengine.h dmaengine: Move dma_get_{,any_}slave_channel() to private dmaengine.h 2020-01-21 15:05:29 +05:30
dmatest.c dmaengine: dmatest: Add support for completion polling 2019-09-04 10:14:22 +05:30
ep93xx_dma.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
fsl-edma-common.c dmaengine: fsl-edma: Add eDMA support for QorIQ LS1028A platform 2019-12-18 11:55:46 +05:30
fsl-edma-common.h dmaengine: fsl-edma: Add eDMA support for QorIQ LS1028A platform 2019-12-18 11:55:46 +05:30
fsl-edma.c dmaengine: fsl-edma: Add eDMA support for QorIQ LS1028A platform 2019-12-18 11:55:46 +05:30
fsl-qdma.c dmaengine: fsl-qdma: fix duplicated argument to && 2020-01-21 13:15:37 +05:30
fsl_raid.c dmaengine: fsl_raid: make of_device_ids const. 2017-06-29 09:25:28 +05:30
fsl_raid.h dmaengine: Driver support for FSL RaidEngine device. 2015-04-02 16:10:27 +05:30
fsldma.c dmaengine: fsldma: Mark expected switch fall-through 2019-08-20 19:42:34 -05:00
fsldma.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 40 2019-05-24 17:27:12 +02:00
hisi_dma.c dmaengine: hisilicon: Add Kunpeng DMA engine support 2020-01-24 11:18:45 +05:30
idma64.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
idma64.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
img-mdc-dma.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 2019-06-05 17:37:15 +02:00
imx-dma.c dmaengine: imx-dma: Mark expected switch fall-through 2019-07-31 20:49:04 +05:30
imx-sdma.c dmaengine: imx-sdma: Fix memory leak 2019-12-26 10:04:19 +05:30
iop-adma.c dmaengine: iop-adma: clean up an indentation issue 2019-11-14 10:27:37 +05:30
iop-adma.h dma: iop-adma: allow building without platform headers 2019-08-14 15:36:22 +02:00
k3dma.c dmaengine: k3dma: Use devm_platform_ioremap_resource() in k3_dma_probe() 2019-10-14 13:21:20 +05:30
Kconfig dmaengine: hisilicon: Add Kunpeng DMA engine support 2020-01-24 11:18:45 +05:30
lpc18xx-dmamux.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
Makefile dmaengine: hisilicon: Add Kunpeng DMA engine support 2020-01-24 11:18:45 +05:30
mcf-edma.c dmaengine: fsl-edma: add drvdata for fsl-edma 2019-07-03 13:28:22 +05:30
mic_x100_dma.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
mic_x100_dma.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 290 2019-06-05 17:36:38 +02:00
milbeaut-hdmac.c dmaengine: milbeaut-hdmac: remove redundant error log 2019-11-08 09:26:17 +05:30
milbeaut-xdmac.c dmaengine: milbeaut-xdmac: remove redundant error log 2019-11-08 09:26:17 +05:30
mmp_pdma.c dmaengine: mmp_pdma: add missed of_dma_controller_free 2019-11-22 10:51:30 +05:30
mmp_tdma.c dmaengine: mmp_tdma: add missed of_dma_controller_free 2019-11-22 10:51:29 +05:30
moxart-dma.c treewide: Use struct_size() for kmalloc()-family 2018-06-06 11:15:43 -07:00
mpc512x_dma.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 7 2019-05-21 11:28:40 +02:00
mv_xor.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
mv_xor.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
mv_xor_v2.c dmaengine: mv_xor_v2: Fix -Wshift-negative-value 2019-08-20 17:06:36 +05:30
mxs-dma.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
nbpfaxi.c dmaengine: nbpfaxi: Use dev_get_drvdata() 2019-04-29 10:47:15 +05:30
of-dma.c dmaengine: Move dma_get_{,any_}slave_channel() to private dmaengine.h 2020-01-21 15:05:29 +05:30
owl-dma.c dmaengine: virt-dma: Add missing locking 2019-12-26 10:04:18 +05:30
pch_dma.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
pl330.c dmaengine: pl330: Convert to the *_late and *_early system sleep callbacks 2019-12-10 11:39:04 +05:30
plx_dma.c dmaengine: plx-dma: Implement descriptor submission 2020-01-15 19:40:51 +05:30
pxa_dma.c dmaengine updates for v5.3-rc1 2019-07-17 09:55:43 -07:00
s3c24xx-dma.c dmaengine: s3c24xx-dma: fix spelling mistake "to" -> "too" 2020-01-23 17:03:25 +05:30
sa11x0-dma.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
sirf-dma.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 4 2019-05-21 11:28:40 +02:00
sprd-dma.c dmaengine: sprd: Add wrap address support for link-list mode 2019-11-14 16:03:35 +05:30
st_fdma.c dmaengine: Remove dev_err() usage after platform_get_irq() 2019-07-31 20:50:53 +05:30
st_fdma.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
ste_dma40.c dmaengine: ste_dma40: fix unneeded variable warning 2019-07-22 20:58:33 +05:30
ste_dma40_ll.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
ste_dma40_ll.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
stm32-dma.c dmaengine: stm32-dma: Use struct_size() helper 2019-09-04 10:25:08 +05:30
stm32-dmamux.c dmaengine: stm32-dmamux: Switch to use device_property_count_u32() 2019-07-29 12:25:21 +05:30
stm32-mdma.c dmaengine updates for v5.4-rc1 2019-09-17 19:04:40 -07:00
sun4i-dma.c dmaengine: sun4i: Add support for cyclic requests with dedicated DMA 2020-01-21 14:04:29 +05:30
sun6i-dma.c dmaengine: Remove dev_err() usage after platform_get_irq() 2019-07-31 20:50:53 +05:30
tegra20-apb-dma.c dmaengine: tegra-apb: Support per-burst residue granularity 2019-07-25 15:55:51 +05:30
tegra210-adma.c dmaengine: tegra210-adma: fix transfer failure 2019-10-14 12:40:38 +05:30
timb_dma.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
TODO
txx9dmac.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
txx9dmac.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
uniphier-mdmac.c dmaengine: uniphier-mdmac: use devm_platform_ioremap_resource() 2019-10-11 15:45:41 +05:30
virt-dma.c dmaengine: virt-dma: use vchan_vdesc_fini() to free descriptors 2019-12-26 10:04:18 +05:30
virt-dma.h dmaengine: virt-dma: Add missing locking around list operations 2019-12-26 10:04:18 +05:30
xgene-dma.c dmaengine: Remove dev_err() usage after platform_get_irq() 2019-07-31 20:50:53 +05:30
zx_dma.c dmaengine: zx: remove: removed dmam_pool_destroy 2019-11-14 12:16:53 +05:30