android_kernel_motorola_sm6225/drivers/dma
Alain Volmat ed77f887e2 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:46:35 +00:00
..
bestcomm
dw dmaengine: dw: Make it dependent to HAS_IOMEM 2021-04-28 13:16:48 +02:00
dw-axi-dmac Add exception protection processing for vd in axi_chan_handle_err function 2023-01-24 07:11:49 +01:00
hsu dmaengine: hsu: disable spurious interrupt 2021-03-04 09:39:43 +01:00
ioat dmaengine: ioat: stop mod_timer from resurrecting deleted timer in __cleanup() 2022-10-26 13:19:34 +02:00
ipu
mediatek dmaengine: mediatek: mtk-hsdma: Fix a resource leak in the error handling path of the probe function 2021-01-17 14:04:21 +01:00
ppc4xx
qcom dmaengine: QCOM_HIDMA_MGMT depends on HAS_IOMEM 2021-06-30 08:48:14 -04:00
sh dmaengine: sh: rcar-dmac: Check for error num after dma_set_max_seg_size 2023-03-03 11:40:07 +01:00
ti dmaengine: ti: edma: handle irq_of_parse_and_map() errors 2023-11-20 10:29:19 +01:00
xilinx dmaengine: xilinx_dma: call of_node_put() when breaking out of for_each_child_of_node() 2023-02-06 07:49:40 +01:00
acpi-dma.c dmaengine: acpi: Avoid comparison GSI with Linux vIRQ 2021-09-26 13:39:47 +02:00
altera-msgdma.c
amba-pl08x.c
at_hdmac.c dmaengine: at_hdmac: Check return code of dma_async_device_register 2022-11-25 17:40:20 +01:00
at_hdmac_regs.h dmaengine: at_hdmac: Fix at_lli struct definition 2022-11-25 17:40:20 +01:00
at_xdmac.c dmaengine: at_xdmac: do not enable all cyclic channels 2023-05-17 11:13:20 +02:00
bcm-sba-raid.c
bcm2835-dma.c
coh901318.c dmaengine: coh901318: Fix a double lock bug in dma_tc_handle() 2020-03-11 14:15:12 +01:00
coh901318.h
coh901318_lli.c
dma-axi-dmac.c dmaengine: axi-dmac: Don't check the number of frames for alignment 2020-01-27 14:50:41 +01:00
dma-jz4740.c
dma-jz4780.c dmaengine: dma-jz4780: Fix race in jz4780_dma_tx_status 2020-11-05 11:08:50 +01:00
dmaengine.c dmaengine: Fix double increment of client_count in dma_chan_get() 2023-02-06 07:49:39 +01:00
dmaengine.h dmaengine: dmaengine_desc_callback_valid(): Check for callback_result 2021-11-26 11:36:15 +01:00
dmatest.c dmaengine: dmatest: Fix iteration non-stop logic 2020-05-06 08:13:32 +02:00
ep93xx_dma.c
fsl-edma.c dmaengine: fsl-edma: Fix NULL pointer exception in fsl_edma_tx_handler 2020-07-22 09:32:12 +02:00
fsl_raid.c
fsl_raid.h
fsldma.c dmaengine: fsldma: Fix a resource leak in an error handling path of the probe function 2021-03-04 09:39:43 +01:00
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:49:44 +01:00
iop-adma.c
k3dma.c dmaengine: k3dma: Avoid null pointer traversal 2020-01-17 19:47:16 +01:00
Kconfig idmaengine: make FSL_EDMA and INTEL_IDMA64 depends on HAS_IOMEM 2023-09-23 10:47:58 +02:00
lpc18xx-dmamux.c
Makefile
mic_x100_dma.c
mic_x100_dma.h
mmp_pdma.c dmaengine: pxa/mmp: stop referencing config->slave_id 2022-01-27 09:04:22 +01:00
mmp_tdma.c dmaengine: mmp_tdma: Reset channel error on release 2020-05-20 08:18:39 +02:00
moxart-dma.c
mpc512x_dma.c
mv_xor.c dmaengine: mv_xor: Use correct device for DMA API 2020-01-27 14:50:24 +01:00
mv_xor.h
mv_xor_v2.c dmaengine: mv_xor_v2: Fix a resource leak in mv_xor_v2_remove() 2022-11-25 17:40:17 +01:00
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:44 -04:00
owl-dma.c dmaengine: owl-dma: Fix a resource leak in the remove function 2021-03-04 09:39:43 +01:00
pch_dma.c PCI: Move Rohm Vendor ID to generic list 2020-06-22 09:05:23 +02:00
pl330.c dmaengine: pl330: Return DMA_PAUSED when transaction is paused 2023-08-16 18:12:59 +02:00
pxa_dma.c dmaengine: pxa_dma: Remove an erroneous BUG_ON() in pxad_free_desc() 2023-11-20 10:29:20 +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:15:44 +02:00
st_fdma.c dmaengine: st_fdma: fix MODULE_ALIAS 2021-12-22 09:19:01 +01:00
st_fdma.h
ste_dma40.c dmaengine: ste_dma40: Fix PM disable depth imbalance in d40_probe 2023-11-08 11:22:20 +01:00
ste_dma40_ll.c
ste_dma40_ll.h
stm32-dma.c dmaengine: stm32-dma: use vchan_terminate_vdesc() in .terminate_all 2020-10-01 13:14:35 +02:00
stm32-dmamux.c
stm32-mdma.c dmaengine: stm32-mdma: correct desc prep when channel running 2023-11-28 16:46:35 +00: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:14:35 +02:00
tegra210-adma.c dmaengine: tegra210-adma: Fix runtime PM imbalance on error 2020-07-29 10:16:52 +02:00
timb_dma.c
TODO
txx9dmac.c
txx9dmac.h
virt-dma.c
virt-dma.h
xgene-dma.c
zx_dma.c