WSL2-Linux-Kernel/drivers/dma
Alain Volmat 45bb94aab8 dmaengine: stm32-mdma: correct desc prep when channel running
commit 03f25d53b145bc2f7ccc82fc04e4482ed734f524 upstream.

In case of the prep descriptor while the channel is already running, the
CCR register value stored into the channel could already have its EN bit
set.  This would lead to a bad transfer since, at start transfer time,
enabling the channel while other registers aren't yet properly set.
To avoid this, ensure to mask the CCR_EN bit when storing the ccr value
into the mdma channel structure.

Fixes: a4ffb13c89 ("dmaengine: Add STM32 MDMA driver")
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Signed-off-by: Amelie Delaunay <amelie.delaunay@foss.st.com>
Cc: stable@vger.kernel.org
Tested-by: Alain Volmat <alain.volmat@foss.st.com>
Link: https://lore.kernel.org/r/20231009082450.452877-1-amelie.delaunay@foss.st.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-28 16:56:31 +00:00
..
bestcomm dmaengine: bestcomm: fix system boot lockups 2021-11-18 19:17:16 +01:00
dw
dw-axi-dmac dmaengine: dw-axi-dmac: Do not dereference NULL structure 2023-03-10 09:39:42 +01:00
dw-edma dmaengine: dw-edma: Fix to enable to issue dma request on DMA processing 2023-05-11 23:00:38 +09:00
fsl-dpaa2-qdma
hsu
idxd dmaengine: idxd: Register dsa_bus_type before registering idxd sub-drivers 2023-11-20 11:08:25 +01:00
ioat dmaengine: ioat: stop mod_timer from resurrecting deleted timer in __cleanup() 2022-10-26 12:35:18 +02:00
ipu
lgm dmaengine: lgm: Move DT parsing after initialization 2023-01-24 07:22:47 +01:00
mediatek dmaengine: mediatek: Fix deadlock caused by synchronize_irq() 2023-10-19 23:05:37 +02:00
ppc4xx
ptdma ptdma: pt_core_execute_cmd() should use spinlock 2023-02-01 08:27:14 +01:00
qcom dma: gpi: remove spurious unlock in gpi_ch_init 2023-05-11 23:00:38 +09:00
sf-pdma dmaengine: sf-pdma: pdma_desc memory leak fix 2023-03-10 09:39:42 +01:00
sh dmaengine: sh: rz-dmac: Fix destination and source data size setting 2023-09-19 12:23:01 +02:00
ti dmaengine: ti: edma: handle irq_of_parse_and_map() errors 2023-11-20 11:08:25 +01:00
xilinx dmaengine: xilinx_dma: call of_node_put() when breaking out of for_each_child_of_node() 2023-02-01 08:27:13 +01:00
Kconfig idmaengine: make FSL_EDMA and INTEL_IDMA64 depends on HAS_IOMEM 2023-09-19 12:22:29 +02:00
Makefile
TODO
acpi-dma.c
altera-msgdma.c
amba-pl08x.c
at_hdmac.c dmaengine: at_hdmac: Check return code of dma_async_device_register 2022-11-16 09:58:30 +01:00
at_hdmac_regs.h dmaengine: at_hdmac: Fix at_lli struct definition 2022-11-16 09:58:28 +01:00
at_xdmac.c dmaengine: at_xdmac: fix potential Oops in at_xdmac_prep_interleaved() 2023-06-09 10:32:15 +02:00
bcm-sba-raid.c
bcm2835-dma.c
dma-axi-dmac.c
dma-jz4780.c
dmaengine.c dmaengine: Fix double increment of client_count in dma_chan_get() 2023-02-01 08:27:12 +01:00
dmaengine.h dmaengine: dmaengine_desc_callback_valid(): Check for `callback_result` 2021-11-18 19:17:02 +01:00
dmatest.c
ep93xx_dma.c
fsl-edma-common.c
fsl-edma-common.h
fsl-edma.c
fsl-qdma.c
fsl_raid.c
fsl_raid.h
fsldma.c
fsldma.h
hisi_dma.c dmaengine: hisilicon: Add multi-thread support for a DMA channel 2022-10-26 12:35:08 +02:00
idma64.c
idma64.h
img-mdc-dma.c
imx-dma.c dmaengine: imx-dma: Cast of_device_get_match_data() with (uintptr_t) 2022-08-17 14:23:56 +02:00
imx-sdma.c dmaengine: imx-sdma: Fix a possible memory leak in sdma_transfer_init 2023-02-06 07:59:00 +01:00
iop-adma.c
iop-adma.h
k3dma.c
lpc18xx-dmamux.c
mcf-edma.c dmaengine: mcf-edma: Fix a potential un-allocated memory access 2023-08-16 18:22:02 +02:00
milbeaut-hdmac.c
milbeaut-xdmac.c
mmp_pdma.c dmaengine: pxa/mmp: stop referencing config->slave_id 2022-01-27 11:04:13 +01:00
mmp_tdma.c
moxart-dma.c
mpc512x_dma.c
mv_xor.c
mv_xor.h
mv_xor_v2.c dmaengine: mv_xor_v2: Fix an error code. 2023-05-11 23:00:37 +09:00
mxs-dma.c dmaengine: mxs: use platform_driver_register 2022-10-26 12:34:23 +02:00
nbpfaxi.c
of-dma.c
owl-dma.c
pch_dma.c
pl330.c dmaengine: pl330: Return DMA_PAUSED when transaction is paused 2023-08-16 18:21:58 +02:00
plx_dma.c
pxa_dma.c dmaengine: pxa_dma: Remove an erroneous BUG_ON() in pxad_free_desc() 2023-11-20 11:08:26 +01:00
s3c24xx-dma.c
sa11x0-dma.c
sprd-dma.c dmaengine: sprd: Cleanup in .remove() after pm_runtime_get_sync() failed 2022-08-25 11:40:38 +02:00
st_fdma.c dmaengine: st_fdma: fix MODULE_ALIAS 2021-12-22 09:32:41 +01:00
st_fdma.h
ste_dma40.c dmaengine: ste_dma40: Fix PM disable depth imbalance in d40_probe 2023-11-08 17:26:45 +01:00
ste_dma40_ll.c
ste_dma40_ll.h
stm32-dma.c dmaengine: stm32-dma: avoid 64-bit division in stm32_dma_get_max_width 2021-11-18 19:17:11 +01:00
stm32-dmamux.c dmaengine: stm32-dmamux: Fix PM disable depth imbalance in stm32_dmamux_probe 2022-02-23 12:03:21 +01:00
stm32-mdma.c dmaengine: stm32-mdma: correct desc prep when channel running 2023-11-28 16:56:31 +00:00
sun4i-dma.c
sun6i-dma.c
tegra20-apb-dma.c
tegra210-adma.c dmaengine: tegra210-adma: fix global intr clear 2023-01-24 07:22:47 +01:00
timb_dma.c
txx9dmac.c
txx9dmac.h
uniphier-mdmac.c
uniphier-xdmac.c dmaengine: uniphier-xdmac: Fix type of address variables 2022-01-27 11:05:23 +01:00
virt-dma.c
virt-dma.h
xgene-dma.c