linux/drivers/dma
Linus Torvalds a10a019dd4 dmaengine fixes for v7.3
Bunch of core and driver fixes:
  - Couple of fixes in core around dma_chan_put() for kref underflow,  user
    after free bug and waiting for rcu readers for dma devices
  - mmp sg length and wrong extended DRCMR base for SpacemiT K3
  - hardware buffer descriptor chain fix for xilinx dma
  - sun6i fixes for status behaviour and dma position registers
  - runtime pm reference leak fix for sprd driver
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE+vs47OPLdNbVcHzyfBQHDyUjg0cFAmqwEtUACgkQfBQHDyUj
 g0dCWQ//ShhhOd2vQQttV+BSHB0xTdT/wENO4mhXcz50chHFh1diBFASMnhejOxG
 dv4ZkePAxV7PLpNqRQrCz2gx89wn5Uxf71PmnLbleuJ5lOuSUMGbFL0MhLzrlfqr
 2Di122aa5Va4Tp3zjNllQ4ihKMfCF02FLCXoZqelVIR/NQFFMeJhEjv/0P2foFvd
 nrf5jzGJuCCbhKiV47H4a8hSb1bG68ct/mV0ZfOT5Koe4B16qPTe7Z9kW5FP0do5
 ++BeHLbEheA/btWUSzvnLMtGHhhUywlAab6cKEkYAcTsuxtapMMRtJmAq9bYyX1O
 qS6hIC9qWMS4xc0+BUsIhwU8cXY6IINy8lPJmwc+/p4V+MJ8QMP+MrfWpWADFy0H
 rTvkIdzU+Lc4fqIr97UbW+pi8Naf2NCiV2NJSYF8JT6ufeG1PymtwbeUlbhkThtZ
 ISVF2/CIieyHr/eDfzNuGrYmdkSfJZgl6Rd6pCHdYQ5vgK6DImtaHfuBBm1OYXVG
 NwA4vkTk6hKu2Sx2JShrSJC2js5q5gdz+9jQuvb9zZZS4I1qOARWjoe/E0wowlir
 EB5bivcNX8VR49x2aYmT7Mg1CJovzs6hC1Aw9aqFIhp+1hQRku+iFOSki8Pwzl23
 EcpkC7liL8S6WCo73Zh7cmT0aBvw3Y6Gpvfozh+Rr7kLZy6cfmw=
 =9a97
 -----END PGP SIGNATURE-----

Merge tag 'dmaengine-fix-7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine

Pull dmaengine fixes from Vinod Koul:

 - A couple of fixes in core around dma_chan_put() for kref underflow,
   use-after-free and waiting for rcu readers for dma devices

 - mmp sg length and wrong extended DRCMR base for SpacemiT K3

 - hardware buffer descriptor chain fix for xilinx dma

 - sun6i fixes for status behaviour and dma position registers

 - runtime pm reference leak fix for sprd driver

* tag 'dmaengine-fix-7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine:
  dmaengine: mmp_pdma: fix wrong sg length in mmp_pdma_prep_slave_sg()
  dmaengine: xilinx_dma: Fix hardware buffer descriptor chain after cyclic DMA
  dmaengine: pxa: fix double counting of the hw descriptors
  dmaengine: sun6i: fix undefined behaviour in sun6i_dma_tx_status
  dmaengine: sun6i: fix non-atomic read of DMA position registers
  dmaengine: xilinx_dma: Fix hardware buffer descriptor reuse order
  dmaengine: wait for RCU readers before releasing dma_device
  dmaengine: fix use-after-free in dma_chan_put() and dma_release_channel()
  dmaengine: Fix device kref underflow in dma_chan_put()
  dmaengine: add dma_device_get() helper
  dmaengine: sprd: Fix runtime PM reference leak in probe
  dmaengine: ti: k3-udma-glue: fix NULL dereference in k3_udma_glue_release_rx_chn()
  dmaengine: mmp_pdma: fix wrong extended DRCMR base for SpacemiT K3
2026-09-20 10:45:22 -07:00
..
amd Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
bestcomm Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
dw Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
dw-axi-dmac dmaengine: dw-axi-dmac: fix __le32 on set of CH_CTL_H_LLI_VALID 2026-07-02 21:13:58 +05:30
dw-edma dmaengine: dw-edma: Mark emulated IRQ as level-triggered 2026-08-12 00:16:54 +05:30
fsl-dpaa2-qdma Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
hsu treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
idxd dmaengine updates for v7.3 2026-08-24 12:21:15 -07:00
ioat dmaengine: ioatdma: make sysfs attributes const 2026-03-09 08:28:21 +01:00
lgm treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
loongson dmaengine: loongson: Fix spelling mistake "Looongson" -> "Looogson" 2026-03-18 15:10:55 +05:30
mediatek dmaengine: mediatek: mtk-uart-apdma: Return -ENOMEM on memory allocation failure 2026-07-02 20:39:15 +05:30
ppc4xx Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
qcom dmaengine updates for v7.3 2026-08-24 12:21:15 -07:00
sf-pdma Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
sh dmaengine: sh: rz-dmac: Add DMA ACK signal routing support 2026-06-08 17:02:21 +05:30
stm32 Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
ti dmaengine: ti: k3-udma-glue: fix NULL dereference in k3_udma_glue_release_rx_chn() 2026-09-03 21:24:48 +05:30
xilinx dmaengine: xilinx_dma: Fix hardware buffer descriptor chain after cyclic DMA 2026-09-10 18:18:41 +05:30
acpi-dma.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
altera-msgdma.c dmaengine: altera-msgdma: Use memcpy_toio for descriptor FIFO writes 2026-06-11 10:57:49 +05:30
amba-pl08x.c Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
apple-admac.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
arm-dma350.c dmaengine: arm-dma350: enable ANYCH interrupt for shared IRQ wiring 2026-07-15 20:57:35 +05:30
at_hdmac.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
at_xdmac.c dmaengine: at_xdmac: get the number of DMA channels from device tree 2026-01-01 17:15:16 +05:30
bcm-sba-raid.c raid6: hide internals 2026-05-28 21:24:54 -07:00
bcm2835-dma.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
cv1800b-dmamux.c dmaengine: cv1800b-dmamux: fix device leak on route allocation 2025-12-14 14:47:24 +05:30
dma-axi-dmac.c dmaengine: dma-axi-dmac: use DMA pool to manange DMA descriptor 2026-06-08 17:37:06 +05:30
dma-jz4780.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
dmaengine.c dmaengine: wait for RCU readers before releasing dma_device 2026-09-09 17:51:44 +05:30
dmaengine.h dmaengine: dmaengine_desc_callback_valid(): Check for callback_result 2021-10-25 09:42:56 +05:30
dmatest.c dmaengine: dmatest: split struct dmatest_info from variable declaration 2026-06-08 17:02:21 +05:30
ep93xx_dma.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
fsl_raid.c dma: fsl_raid: use devm_platform_ioremap_resource 2026-07-17 17:50:19 +05:30
fsl_raid.h dma: fsl_raid: keep MMIO bases as void __iomem and cast at access 2026-07-17 17:50:19 +05:30
fsl-edma-common.c dmaengine: fsl-edma: Remove redundant check in fsl_edma_free_chan_resources() 2026-02-25 14:56:10 +05:30
fsl-edma-common.h dmaegnine: fsl-edma: add edma error interrupt handler 2025-04-23 18:42:46 +05:30
fsl-edma-main.c dmaengine: fsl-edma: Add error handling for devm_kasprintf 2026-07-14 17:07:27 +05:30
fsl-edma-trace.c dmaengine: fsl-edma: add trace event support 2024-05-04 18:00:16 +05:30
fsl-edma-trace.h dmaengine: fsl-edma: tracing: no ptr dereference during log output 2026-08-11 23:22:39 +05:30
fsl-qdma.c dmaengine: fsl-qdma: Use dev_err_probe() to simplify code 2026-03-09 12:20:48 +01:00
fsldma.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
fsldma.h fsldma: Set correct dma_mask based on hw capability 2025-05-14 15:25:15 +01:00
hisi_dma.c dmaengine: hisilicon: Return -ENOMEM on dynamic memory allocation in probe 2026-07-02 21:12:29 +05:30
idma64.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08: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 kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
imx-dma.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
imx-sdma.c dmaengine: imx-sdma: Refine spba bus searching in probe 2026-06-04 12:17:48 +05:30
k3dma.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
Kconfig dmaengine: loongson: New directory for Loongson DMA controllers drivers 2026-03-17 16:48:55 +05:30
lpc18xx-dmamux.c dmaengine: lpc18xx-dmamux: fix device leak on route allocation 2025-12-14 14:47:24 +05:30
lpc32xx-dmamux.c dmaengine: lpc32xx-dmamux: fix device leak on route allocation 2025-12-14 14:47:24 +05:30
Makefile dmaengine: loongson: New directory for Loongson DMA controllers drivers 2026-03-17 16:48:55 +05:30
mcf-edma-main.c dmaengine: Switch back to struct platform_driver::remove() 2024-10-14 23:50:34 +05:30
milbeaut-hdmac.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
milbeaut-xdmac.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
mmp_pdma.c dmaengine: mmp_pdma: fix wrong sg length in mmp_pdma_prep_slave_sg() 2026-09-15 21:57:40 +05:30
mmp_tdma.c dmaengine: mmp_tdma: drop unnecessary OF node check in remove 2025-11-21 17:42:51 +05:30
moxart-dma.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
mpc512x_dma.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
mv_xor_v2.c dmaengine: fix typo in the comment 2024-10-21 23:07:08 +05:30
mv_xor.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
mv_xor.h dmaengine: Fix spelling mistakes 2024-09-02 13:56:01 +05:30
mxs-dma.c dmaengine: mxs-dma: Add module license and description 2026-03-09 12:20:47 +01:00
nbpfaxi.c dmaengine: nbpfaxi: Drop unused platform_device_id array 2026-06-08 17:02:21 +05:30
of-dma.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
owl-dma.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
pch_dma.c dmaengine: Move MODULE_DEVICE_TABLE next to the table itself 2026-05-19 22:54:14 +05:30
pl330.c dmaengine: pl330: remove debugfs file on teardown 2026-07-02 21:14:56 +05:30
plx_dma.c Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
pxa_dma.c dmaengine: pxa: fix double counting of the hw descriptors 2026-09-10 18:09:53 +05:30
sa11x0-dma.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
sprd-dma.c dmaengine: sprd: Fix runtime PM reference leak in probe 2026-09-03 21:27:09 +05:30
st_fdma.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
st_fdma.h dmaengine: st_fdma: change dreg_line to long 2025-12-23 16:35:27 +05:30
ste_dma40_ll.c dmaengine: ste_dma40: Remove platform data 2023-05-16 23:00:19 +05:30
ste_dma40_ll.h dmaengine: Fix spelling mistakes 2024-09-02 13:56:01 +05:30
ste_dma40.c dmaengine: ste_dma40: turn d40_base phy_chans into a flexible array 2026-06-08 17:02:21 +05:30
ste_dma40.h dmaengine: Fix spelling mistakes 2024-09-02 13:56:01 +05:30
sun4i-dma.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
sun6i-dma.c dmaengine: sun6i: fix undefined behaviour in sun6i_dma_tx_status 2026-09-10 17:57:46 +05:30
switchtec_dma.c treewide: refresh kmalloc_obj() conversions 2026-09-04 21:37:00 -07:00
tegra20-apb-dma.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
tegra186-gpc-dma.c dmaengine: tegra: Fix burst size calculation 2026-06-08 17:43:48 +05:30
tegra210-adma.c dmaengine: tegra210-adma: use platform to ioremap 2026-07-02 20:42:02 +05:30
timb_dma.c Convert 'alloc_flex' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
TODO
txx9dmac.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
txx9dmac.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
uniphier-mdmac.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
uniphier-xdmac.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
virt-dma.c dmaengine: virt-dma: add missing MODULE_DESCRIPTION() macro 2024-06-28 13:03:13 +05:30
virt-dma.h dma: Add lockdep asserts to virt-dma 2024-04-07 17:08:19 +05:30
xgene-dma.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00