linux-stable/drivers/mmc/host
Mengqi Zhang 89bcd9a64b mmc: mediatek: wait dma stop bit reset to 0
MediaTek IP requires that after dma stop, it need to wait this dma stop
bit auto-reset to 0. When bus is in high loading state, it will take a
while for the dma stop complete. If there is no waiting operation here,
when program runs to clear fifo and reset, bus will hang.

In addition, there should be no return in msdc_data_xfer_next() if
there is data need be transferred, because no matter what error occurs
here, it should continue to excute to the following mmc_request_done.
Otherwise the core layer may wait complete forever.

Signed-off-by: Mengqi Zhang <mengqi.zhang@mediatek.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20220609112239.18911-1-mengqi.zhang@mediatek.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2022-06-15 10:05:56 -07:00
..
Kconfig m68k: coldfire: drop ISA_DMA_API support 2022-05-16 13:18:30 +10:00
Makefile mmc: Add driver for LiteX's LiteSDCard interface 2022-02-28 13:06:21 +01:00
alcor.c
atmel-mci.c mmc: atmel-mci: Simplify if(chan) and if(!chan) 2022-05-04 11:56:02 +02:00
au1xmmc.c mmc: au1xmmc: propagate errors from platform_get_irq() 2021-12-28 17:42:51 +01:00
bcm2835.c mmc: improve API to make clear hw_reset callback is for cards 2022-04-26 14:05:20 +02:00
cavium-octeon.c
cavium-thunderx.c
cavium.c mmc: cavium: Use '"%s...", __func__' to print function name 2021-03-30 11:42:06 +02:00
cavium.h
cb710-mmc.c
cb710-mmc.h
cqhci-core.c Merge branch 'fixes' into next 2021-10-26 17:37:06 +02:00
cqhci-crypto.c blk-crypto: rename blk_keyslot_manager to blk_crypto_profile 2021-10-21 10:49:32 -06:00
cqhci-crypto.h mmc: core: Store pointer to bio_crypt_ctx in mmc_request 2021-08-24 10:15:32 +02:00
cqhci.h
davinci_mmc.c mmc: davinci_mmc: Handle error for clk_enable 2022-03-15 10:29:53 +01:00
dw_mmc-bluefield.c
dw_mmc-exynos.c mmc: dw_mmc: Do not wait for DTO in case of error 2021-12-21 13:28:41 +01:00
dw_mmc-exynos.h
dw_mmc-hi3798cv200.c mmc: dw_mmc: hi3798cv200: use common_caps 2021-12-14 21:35:25 +01:00
dw_mmc-k3.c mmc: dw_mmc-k3: use the correct HiSilicon copyright 2021-03-31 14:47:53 +02:00
dw_mmc-pci.c
dw_mmc-pltfm.c mmc: dw_mmc-pltfm: Remove unused <linux/clk.h> 2021-06-14 13:57:42 +02:00
dw_mmc-pltfm.h
dw_mmc-rockchip.c mmc: dw-mmc-rockchip: Fix handling invalid clock rates 2022-03-07 12:56:48 +01:00
dw_mmc.c mmc: improve API to make clear hw_reset callback is for cards 2022-04-26 14:05:20 +02:00
dw_mmc.h mmc: dw_mmc: Support setting f_min from host drivers 2022-03-07 12:56:38 +01:00
jz4740_mmc.c mmc: jz4740: Apply DMA engine limits to maximum segment size 2022-04-26 14:05:21 +02:00
litex_mmc.c mmc: Add driver for LiteX's LiteSDCard interface 2022-02-28 13:06:21 +01:00
meson-gx-mmc.c mmc: meson-gx: switch to device-managed dmam_alloc_coherent() 2022-04-26 14:05:21 +02:00
meson-mx-sdhc-clkc.c mmc: meson-mx-sdhc: Drop unused MESON_SDHC_NUM_BUILTIN_CLKS macro 2021-12-20 11:19:01 +01:00
meson-mx-sdhc-mmc.c mmc: improve API to make clear hw_reset callback is for cards 2022-04-26 14:05:20 +02:00
meson-mx-sdhc.h
meson-mx-sdio.c mmc: meson-mx-sdio: add IRQ check 2021-12-21 13:22:34 +01:00
mmc_hsq.c
mmc_hsq.h
mmc_spi.c spi: make remove callback a void function 2022-02-09 13:00:45 +00:00
mmci.c mmc: mmci: Remove custom ios handler 2022-05-04 11:59:09 +02:00
mmci.h
mmci_qcom_dml.c
mmci_stm32_sdmmc.c mmc: mmci: stm32: use a buffer for unaligned DMA requests 2022-04-26 14:05:18 +02:00
moxart-mmc.c moxart: fix potential use-after-free on remove path 2022-01-31 15:36:34 +01:00
mtk-sd.c mmc: mediatek: wait dma stop bit reset to 0 2022-06-15 10:05:56 -07:00
mvsdio.c
mvsdio.h
mxcmmc.c dmaengine: imx: Move header to include/dma/ 2022-04-19 12:06:18 +01:00
mxs-mmc.c mmc: mxs-mmc: disable regulator on error and in the remove function 2021-10-19 13:02:58 +02:00
of_mmc_spi.c mmc: mmc_spi: parse speed mode options 2022-04-26 14:05:19 +02:00
omap.c mmc: omap: Make it CCF clk API compatible 2022-04-26 14:05:19 +02:00
omap_hsmmc.c mmc: omap_hsmmc: Revert special init for wl1251 2021-12-14 21:35:24 +01:00
owl-mmc.c mmc: owl-mmc: Remove unnecessary error log 2021-04-12 13:52:47 +02:00
pxamci.c ARM: pxa: split up mach/hardware.h 2022-04-19 16:27:05 +02:00
pxamci.h
renesas_sdhi.h mmc: renesas_sdhi: make 'dmac_only_one_rx' a quirk 2022-04-26 14:05:18 +02:00
renesas_sdhi_core.c mmc: renesas_sdhi: remove outdated headers 2022-04-26 14:05:17 +02:00
renesas_sdhi_internal_dmac.c mmc: renesas_sdhi: remove superfluous specific M3W entry 2022-04-26 14:05:20 +02:00
renesas_sdhi_sys_dmac.c mmc: renesas_sdhi: Refactor renesas_sdhi_probe() 2021-08-24 10:15:35 +02:00
rtsx_pci_sdmmc.c Char/Misc and other driver updates for 5.18-rc1 2022-03-28 12:27:35 -07:00
rtsx_usb_sdmmc.c
s3cmci.c mmc: s3cmci: move to use request_irq by IRQF_NO_AUTOEN flag 2021-06-14 13:57:34 +02:00
s3cmci.h
sdhci-acpi.c mmc: sdhci-acpi: Use the new soc_intel_is_byt() helper 2021-12-01 20:14:26 +01:00
sdhci-bcm-kona.c
sdhci-brcmstb.c mmc: sdhci-brcmstb: Fix compiler warning 2022-05-06 10:44:22 +02:00
sdhci-cadence.c
sdhci-cns3xxx.c
sdhci-dove.c
sdhci-esdhc-imx.c mmc: sdhci-esdhc-imx: Add sdhc support for i.MXRT series 2021-12-14 21:35:26 +01:00
sdhci-esdhc-mcf.c mmc: sdhci: replace mmc->parent with mmc_dev() for consistency 2021-03-30 11:42:07 +02:00
sdhci-esdhc.h
sdhci-iproc.c Revert "mmc: sdhci-iproc: Set SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN on BCM2711" 2021-08-27 16:30:36 +02:00
sdhci-milbeaut.c
sdhci-msm.c Merge branch 'fixes' into next 2022-05-04 12:32:44 +02:00
sdhci-of-arasan.c mmc: sdhci-of-arasan: Add NULL check for data field 2022-05-16 15:49:31 +02:00
sdhci-of-aspeed-test.c mmc: sdhci-of-aspeed: Remove some unnecessary casts from KUnit tests 2021-06-23 16:39:08 -06:00
sdhci-of-aspeed.c mmc: sdhci-of-aspeed: Turn down a phase correction warning 2021-06-14 13:57:44 +02:00
sdhci-of-at91.c mmc: sdhci-of-at91: Use of_device_get_match_data() helper 2022-02-28 13:06:22 +01:00
sdhci-of-dwcmshc.c mmc: sdhci-of-dwcmshc: set MMC_CAP_WAIT_WHILE_BUSY 2021-03-30 11:42:07 +02:00
sdhci-of-esdhc.c mmc: host: Drop commas after SoC match table sentinels 2022-03-07 12:54:31 +01:00
sdhci-of-hlwd.c
sdhci-of-sparx5.c
sdhci-omap.c mmc: sdhci-omap: Use of_device_get_match_data() helper 2022-04-26 14:09:00 +02:00
sdhci-pci-arasan.c
sdhci-pci-core.c mmc: sdhci-pci: Add PCI ID for Intel ADL 2021-12-14 21:35:25 +01:00
sdhci-pci-dwc-mshc.c
sdhci-pci-gli.c mmc: sdhci-pci-gli: Fix GL9763E runtime PM when the system resumes from suspend 2022-05-31 15:31:39 +02:00
sdhci-pci-o2micro.c mmc: sdhci-pci-o2micro: Fix card detect by dealing with debouncing 2022-06-14 13:52:53 -07:00
sdhci-pci.h mmc: sdhci-pci: Add PCI ID for Intel ADL 2021-12-14 21:35:25 +01:00
sdhci-pic32.c
sdhci-pltfm.c
sdhci-pltfm.h
sdhci-pxav2.c
sdhci-pxav3.c
sdhci-s3c.c mmc: sdhci-s3c: drop unneeded MODULE_ALIAS 2021-10-12 10:21:18 +02:00
sdhci-spear.c
sdhci-sprd.c mmc: sdhci-sprd: Wait until DLL locked after being configured 2021-10-12 10:21:19 +02:00
sdhci-st.c mmc: sdhci-st: Remove unnecessary error log 2021-04-12 13:52:48 +02:00
sdhci-tegra.c mmc: sdhci-tegra: Use of_device_get_match_data() helper 2022-02-28 13:06:22 +01:00
sdhci-xenon-phy.c
sdhci-xenon.c Revert "mmc: sdhci-xenon: fix annoying 1.8V regulator warning" 2022-04-04 12:17:46 +02:00
sdhci-xenon.h
sdhci.c mmc: improve API to make clear hw_reset callback is for cards 2022-04-26 14:05:20 +02:00
sdhci.h mmc: sdhci: Fix ADMA for PAGE_SIZE >= 64KiB 2021-11-17 10:34:06 +01:00
sdhci_am654.c drivers: mmc: sdhci_am654: Add the quirk to set TESTCD bit 2022-04-26 14:05:55 +02:00
sdhci_f_sdh30.c
sdhci_f_sdh30.h
sdricoh_cs.c
sh_mmcif.c mmc: sh_mmcif: move platform_data header to proper location 2022-04-26 14:05:21 +02:00
sunxi-mmc.c Merge branch 'fixes' into next 2022-05-04 11:52:07 +02:00
tifm_sd.c mmc: switch from 'pci_' to 'dma_' API 2021-08-24 16:59:39 +02:00
tmio_mmc.c
tmio_mmc.h mmc: tmio: remove outdated members from host struct 2022-03-15 10:31:24 +01:00
tmio_mmc_core.c mmc: tmio: reinit card irqs in reset routine 2021-12-14 21:35:22 +01:00
toshsd.c
toshsd.h
uniphier-sd.c mmc: improve API to make clear hw_reset callback is for cards 2022-04-26 14:05:20 +02:00
usdhi6rol0.c mmc: usdhi6rol0: Implement card_busy function 2021-08-24 15:16:08 +02:00
ushc.c
via-sdmmc.c mmc: switch from 'pci_' to 'dma_' API 2021-08-24 16:59:39 +02:00
vub300.c mmc: vub300: fix control-message timeouts 2021-10-26 17:31:58 +02:00
wbsd.c
wbsd.h
wmt-sdmmc.c mmc: wmt-sdmmc: Use of_device_get_match_data() helper 2022-02-28 13:06:22 +01:00