android_kernel_oneplus_msm8998/drivers/dma
Robin Gong f66168a2a2 dmaengine: imx-sdma: remove BD_INTR for channel0
commit 3f93a4f297961c12bb17aa16cb3a4d1291823cae upstream.

It is possible for an irq triggered by channel0 to be received later
after clks are disabled once firmware loaded during sdma probe. If
that happens then clearing them by writing to SDMA_H_INTR won't work
and the kernel will hang processing infinite interrupts. Actually,
don't need interrupt triggered on channel0 since it's pollling
SDMA_H_STATSTOP to know channel0 done rather than interrupt in
current code, just clear BD_INTR to disable channel0 interrupt to
avoid the above case.
This issue was brought by commit 1d069bfa3c78 ("dmaengine: imx-sdma:
ack channel 0 IRQ in the interrupt handler") which didn't take care
the above case.

Fixes: 1d069bfa3c78 ("dmaengine: imx-sdma: ack channel 0 IRQ in the interrupt handler")
Cc: stable@vger.kernel.org #5.0+
Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Reported-by: Sven Van Asbroeck <thesven73@gmail.com>
Tested-by: Sven Van Asbroeck <thesven73@gmail.com>
Reviewed-by: Michael Olbrich <m.olbrich@pengutronix.de>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-07-10 09:56:44 +02:00
..
bestcomm dmaengine: constify of_device_id array 2015-03-18 22:13:14 +05:30
dw dmaengine: dw: fix master selection 2016-05-04 14:48:42 -07:00
hsu dmaengine: hsu: correct use of channel status register 2016-05-04 14:48:42 -07:00
ioat driver/dma/ioat: Call del_timer_sync() without holding prep_lock 2018-11-21 09:27:33 +01:00
ipu dmaengine: ipu: Make sure the interrupt routine checks all interrupts. 2017-03-12 06:37:30 +01:00
ppc4xx dmaengine: Remove FSF mailing addresses 2015-03-16 22:28:15 +05:30
sh dmaengine: usb-dmac: Make DMAC system sleep callbacks explicit 2019-03-23 08:44:36 +01:00
xilinx dmaengine: xilinx: Fix module autoload for OF platform driver 2015-10-01 07:35:39 +05:30
acpi-dma.c dmaengine updates for 4.4-rc1 2015-11-10 10:05:17 -08:00
amba-pl08x.c dmaengine: pl08x: support dt channel assignment 2015-08-18 22:12:14 +05:30
at_hdmac.c dmaengine: at_hdmac: fix module unloading 2018-12-13 09:21:27 +01:00
at_hdmac_regs.h dmaengine: at_hdmac: use %pad format string for dma_addr_t 2015-11-16 09:21:05 +05:30
at_xdmac.c dmaengine: at_xdmac: remove BUG_ON macro in tasklet 2019-06-11 12:23:57 +02:00
bcm2835-dma.c dmaengine: bcm2835-dma: Convert to use DMA pool 2015-12-05 15:36:32 +05:30
coh901318.c dmaengine: Add an enum for the dmaengine alignment constraints 2015-08-05 10:53:52 +05:30
coh901318.h
coh901318_lli.c
cppi41.c dmaengine: cppi41: add missing bitfields 2015-04-11 21:12:58 +05:30
dma-axi-dmac.c dmaengine: Add support for the Analog Devices AXI-DMAC DMA controller 2015-08-23 18:55:10 +05:30
dma-jz4740.c dmaengine: jz4740: disable/unprepare clk if probe fails 2018-02-25 11:03:41 +01:00
dma-jz4780.c dmaengine: dma-jz4780: Return error if not probed from DT 2018-11-21 09:27:33 +01:00
dmaengine.c dmaengine: Fix array index out of bounds warning in __get_unmap_pool() 2017-12-20 10:04:54 +01:00
dmaengine.h
dmatest.c dmaengine: dmatest: Abort test in case of mapping error 2019-03-23 08:44:27 +01:00
edma.c dmaengine: edma: Align the memcpy acnt array size with the transfer 2017-10-18 09:20:41 +02:00
ep93xx_dma.c dmaengine: ep93xx: Always start from BASE0 2017-06-14 13:16:22 +02:00
fsl-edma.c dmaengine: fsl-edma: clear pending interrupts on initialization 2015-06-25 09:22:32 +05:30
fsl_raid.c dmaengine: fsl_raid: statify fsl_re_chan_probe 2015-04-02 16:11:35 +05:30
fsl_raid.h dmaengine: Driver support for FSL RaidEngine device. 2015-04-02 16:10:27 +05:30
fsldma.c dmaengine: fsldma: Fix module autoload for OF platform driver 2015-10-01 07:34:31 +05:30
fsldma.h dmaengine: fsldma: declare slave capabilities for the generic code 2015-01-13 23:58:08 +05:30
idma64.c dmaengine: idma64: Use actual device for DMA transfers 2019-06-22 08:18:21 +02:00
idma64.h dmaengine: idma64: Use actual device for DMA transfers 2019-06-22 08:18:21 +02:00
img-mdc-dma.c dmaengine: img-mdc: remove device_alloc_chan_resources handler 2015-03-18 22:44:58 +05:30
imx-dma.c dmaengine: imx-dma: fix warning comparison of distinct pointer types 2019-04-27 09:33:52 +02:00
imx-sdma.c dmaengine: imx-sdma: remove BD_INTR for channel0 2019-07-10 09:56:44 +02:00
iop-adma.c drivers/dma/iop-adma: Use dma_alloc_writecombine() kernel-style 2015-08-25 09:59:46 +02:00
k3dma.c dmaengine: k3dma: Off by one in k3_of_dma_simple_xlate() 2018-08-24 13:26:57 +02:00
Kconfig Merge branch 'topic/idma' into for-linus 2015-10-31 07:37:05 +05:30
lpc18xx-dmamux.c dmaengine: add driver for lpc18xx dmamux 2015-08-18 22:12:14 +05:30
Makefile dmaengine: idma: rename to INTEL_IDMA64 2015-09-24 20:55:58 +05:30
mic_x100_dma.c dmaengine: Revert "dmaengine: mic_x100: add missing spin_unlock" 2016-01-06 15:16:36 +05:30
mic_x100_dma.h dmaengine: Add an enum for the dmaengine alignment constraints 2015-08-05 10:53:52 +05:30
mmp_pdma.c dmaengine: Add an enum for the dmaengine alignment constraints 2015-08-05 10:53:52 +05:30
mmp_tdma.c dmaengine: Add an enum for the dmaengine alignment constraints 2015-08-05 10:53:52 +05:30
moxart-dma.c dmaengine: moxart-dma: Fix module autoload for OF platform driver 2015-10-01 07:34:31 +05:30
mpc512x_dma.c dmaengine: mpc512x: Fix module autoload for OF platform driver 2015-10-01 07:34:31 +05:30
mv_xor.c dmaengine updates for 4.3-rc1 2015-09-04 11:10:18 -07:00
mv_xor.h dmaengine: mv_xor: improve descriptors list handling and reduce locking 2015-06-10 22:18:31 +05:30
mxs-dma.c dmaengine: mxs: Constify platform_device_id 2015-05-04 16:38:55 +05:30
nbpfaxi.c dmaengine: nbpfaxi: Constify platform_device_id 2015-05-04 16:38:55 +05:30
of-dma.c dmaengine: of_dma: Support for DMA routers 2015-05-09 17:11:25 +05:30
omap-dma.c dmaengine: omap-dma: Enable packed accesses for cyclic transfers 2015-10-05 16:31:34 +01:00
pch_dma.c dmaengine: Remove remaining FSF mailing addresses 2015-07-06 19:18:53 +05:30
pl330.c dmaengine: pl330: _stop: clear interrupt status 2019-06-11 12:23:55 +02:00
pxa_dma.c dmaengine: pxa_dma: remove duplicate const qualifier 2018-08-06 16:24:40 +02:00
qcom_bam_dma.c Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma 2015-04-24 09:49:37 -07:00
s3c24xx-dma.c dmaengine: s3c24xx: Constify platform_device_id 2015-05-04 16:38:55 +05:30
sa11x0-dma.c dmaengine: sa11x0: report slave capabilities to upper layers 2015-04-17 23:24:35 +05:30
sirf-dma.c dmaengine: sirf: Fix module autoload for OF platform driver 2015-10-01 07:34:31 +05:30
ste_dma40.c dmaengine: ste_dma40: fix a trivial typo 2015-10-25 04:15:40 +05:30
ste_dma40_ll.c
ste_dma40_ll.h
sun4i-dma.c dmaengine: sun4i: fix unsafe list iteration 2015-09-30 12:17:22 +05:30
sun6i-dma.c dmaengine: sun6i: Fix module autoload for OF platform driver 2015-10-01 07:35:26 +05:30
tegra20-apb-dma.c dmaengine: tegra: avoid overflow of byte tracking 2019-04-27 09:33:53 +02:00
ti-dma-crossbar.c dmaengine: ti-dma-crossbar: Fix event mapping for TPCC_EVT_MUX_60_63 2018-03-24 10:58:48 +01:00
timb_dma.c dmaengine: Remove remaining FSF mailing addresses 2015-07-06 19:18:53 +05:30
TODO dmaengine: dw: don't perform DMA when dmaengine_submit is called 2014-07-15 22:14:30 +05:30
txx9dmac.c dmaengine: txx9: Rename device_control 2014-12-22 12:33:22 +05:30
txx9dmac.h MIPS: Replace MIPS-specific 64BIT_PHYS_ADDR with generic PHYS_ADDR_T_64BIT 2014-11-24 22:46:44 +01:00
virt-dma.c Revert "dmaengine: virt-dma: don't always free descriptor upon completion" 2015-07-31 20:33:43 +05:30
virt-dma.h dmaengine: virt-dma: Fix kernel-doc annotations 2015-10-27 11:12:09 +09:00
xgene-dma.c dmaengine: xgene-dma: Fix double IRQ issue by setting IRQ_DISABLE_UNLAZY flag 2016-01-07 11:09:36 +05:30
zx296702_dma.c dmaengine: zx: fix build warning 2018-02-25 11:03:50 +01:00