Alain Volmat
3651286660
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:50:19 +00:00
..
bestcomm
dw
dw-axi-dmac
Add exception protection processing for vd in axi_chan_handle_err function
2023-01-24 07:17:58 +01:00
dw-edma
dmaengine: dw-edma: Fix to enable to issue dma request on DMA processing
2023-05-17 11:35:54 +02:00
hsu
ioat
dmaengine: ioat: stop mod_timer from resurrecting deleted timer in __cleanup()
2022-10-26 13:22:43 +02:00
ipu
mediatek
dmaengine: mediatek: Fix deadlock caused by synchronize_irq()
2023-10-25 11:53:20 +02:00
ppc4xx
qcom
sh
dmaengine: sh: rcar-dmac: Check for error num after dma_set_max_seg_size
2023-03-03 11:41:48 +01:00
ti
dmaengine: ti: edma: handle irq_of_parse_and_map() errors
2023-11-20 10:30:13 +01:00
xilinx
dmaengine: xilinx_dma: call of_node_put() when breaking out of for_each_child_of_node()
2023-02-06 07:52:40 +01:00
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-25 17:42:10 +01:00
at_hdmac_regs.h
dmaengine: at_hdmac: Fix at_lli struct definition
2022-11-25 17:42:10 +01:00
at_xdmac.c
dmaengine: at_xdmac: do not enable all cyclic channels
2023-05-17 11:35:54 +02:00
bcm-sba-raid.c
bcm2835-dma.c
coh901318.c
coh901318.h
coh901318_lli.c
dma-axi-dmac.c
dma-jz4780.c
dmaengine.c
dmaengine: Fix double increment of client_count in dma_chan_get()
2023-02-06 07:52:39 +01:00
dmaengine.h
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
idma64.c
idma64.h
img-mdc-dma.c
imx-dma.c
imx-sdma.c
dmaengine: imx-sdma: Fix a possible memory leak in sdma_transfer_init
2023-02-06 07:52:48 +01:00
iop-adma.c
iop-adma.h
k3dma.c
Kconfig
idmaengine: make FSL_EDMA and INTEL_IDMA64 depends on HAS_IOMEM
2023-09-23 10:59:39 +02:00
lpc18xx-dmamux.c
Makefile
mcf-edma.c
dmaengine: mcf-edma: Fix a potential un-allocated memory access
2023-08-16 18:19:24 +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
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-17 11:35:53 +02:00
mxs-dma.c
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:19:22 +02:00
pxa_dma.c
dmaengine: pxa_dma: Remove an erroneous BUG_ON() in pxad_free_desc()
2023-11-20 10:30:14 +01:00
s3c24xx-dma.c
sa11x0-dma.c
sirf-dma.c
sprd-dma.c
dmaengine: sprd: Cleanup in .remove() after pm_runtime_get_sync() failed
2022-08-25 11:18:35 +02:00
st_fdma.c
st_fdma.h
ste_dma40.c
dmaengine: ste_dma40: Fix PM disable depth imbalance in d40_probe
2023-11-08 11:23:40 +01:00
ste_dma40_ll.c
ste_dma40_ll.h
stm32-dma.c
stm32-dmamux.c
stm32-mdma.c
dmaengine: stm32-mdma: correct desc prep when channel running
2023-11-28 16:50:19 +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:18:01 +01:00
timb_dma.c
TODO
txx9dmac.c
txx9dmac.h
uniphier-mdmac.c
virt-dma.c
virt-dma.h
xgene-dma.c
zx_dma.c