kernel_samsung_a53x/drivers/mmc/host
Christophe Kerello bf6b61c8a7 mmc: mmci: stm32: fix DMA API overlapping mappings warning
[ Upstream commit 6b1ba3f9040be5efc4396d86c9752cdc564730be ]

Turning on CONFIG_DMA_API_DEBUG_SG results in the following warning:

DMA-API: mmci-pl18x 48220000.mmc: cacheline tracking EEXIST,
overlapping mappings aren't supported
WARNING: CPU: 1 PID: 51 at kernel/dma/debug.c:568
add_dma_entry+0x234/0x2f4
Modules linked in:
CPU: 1 PID: 51 Comm: kworker/1:2 Not tainted 6.1.28 #1
Hardware name: STMicroelectronics STM32MP257F-EV1 Evaluation Board (DT)
Workqueue: events_freezable mmc_rescan
Call trace:
add_dma_entry+0x234/0x2f4
debug_dma_map_sg+0x198/0x350
__dma_map_sg_attrs+0xa0/0x110
dma_map_sg_attrs+0x10/0x2c
sdmmc_idma_prep_data+0x80/0xc0
mmci_prep_data+0x38/0x84
mmci_start_data+0x108/0x2dc
mmci_request+0xe4/0x190
__mmc_start_request+0x68/0x140
mmc_start_request+0x94/0xc0
mmc_wait_for_req+0x70/0x100
mmc_send_tuning+0x108/0x1ac
sdmmc_execute_tuning+0x14c/0x210
mmc_execute_tuning+0x48/0xec
mmc_sd_init_uhs_card.part.0+0x208/0x464
mmc_sd_init_card+0x318/0x89c
mmc_attach_sd+0xe4/0x180
mmc_rescan+0x244/0x320

DMA API debug brings to light leaking dma-mappings as dma_map_sg and
dma_unmap_sg are not correctly balanced.

If an error occurs in mmci_cmd_irq function, only mmci_dma_error
function is called and as this API is not managed on stm32 variant,
dma_unmap_sg is never called in this error path.

Signed-off-by: Christophe Kerello <christophe.kerello@foss.st.com>
Fixes: 46b723dd867d ("mmc: mmci: add stm32 sdmmc variant")
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20240207143951.938144-1-christophe.kerello@foss.st.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-11-18 23:19:34 +01:00
..
alcor.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
android-goldfish.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
atmel-mci.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
au1xmmc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
bcm2835.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cavium-octeon.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cavium-thunderx.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cavium.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cavium.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cb710-mmc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cb710-mmc.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cqhci-core.c mmc: cqhci: Fix task clearing in CQE error recovery 2024-11-18 12:11:16 +01:00
cqhci-crypto.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cqhci-crypto.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cqhci.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
davinci_mmc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dw_mmc-bluefield.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dw_mmc-exynos.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dw_mmc-exynos.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dw_mmc-hi3798cv200.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dw_mmc-k3.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dw_mmc-pci.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dw_mmc-pltfm.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dw_mmc-pltfm.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dw_mmc-rockchip.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dw_mmc-zx.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dw_mmc-zx.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dw_mmc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dw_mmc.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
jz4740_mmc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig mmc: sdhci_omap: Fix TI SoC dependencies 2024-11-18 12:12:43 +01:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
meson-gx-mmc.c mmc: meson-gx: Remove setting of CMD_CFG_ERROR 2024-11-18 11:43:25 +01:00
meson-mx-sdhc-clkc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
meson-mx-sdhc-mmc.c mmc: meson-mx-sdhc: Fix initialization frozen issue 2024-11-18 12:12:08 +01:00
meson-mx-sdhc.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
meson-mx-sdio.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mmc-sec-feature.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mmc-sec-feature.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mmc-sec-sysfs.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mmc-sec-sysfs.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mmc_hsq.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mmc_hsq.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mmc_spi.c mmc: mmc_spi: remove custom DMA mapped buffers 2024-11-18 12:12:58 +01:00
mmci.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mmci.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mmci_qcom_dml.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mmci_stm32_sdmmc.c mmc: mmci: stm32: fix DMA API overlapping mappings warning 2024-11-18 23:19:34 +01:00
moxart-mmc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mtk-sd.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mvsdio.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mvsdio.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mxcmmc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mxs-mmc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
of_mmc_spi.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
omap.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
omap_hsmmc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
owl-mmc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pxamci.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pxamci.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
renesas_sdhi.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
renesas_sdhi_core.c mmc: renesas_sdhi: use custom mask for TMIO_MASK_ALL 2024-11-18 10:58:28 +01:00
renesas_sdhi_internal_dmac.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
renesas_sdhi_sys_dmac.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
rtsx_pci_sdmmc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
rtsx_usb_sdmmc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
s3cmci.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
s3cmci.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-acpi.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-bcm-kona.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-brcmstb.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-cadence.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-cns3xxx.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-cqhci.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-dove.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-esdhc-imx.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-esdhc-mcf.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-esdhc.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-iproc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-milbeaut.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-msm.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-of-arasan.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-of-aspeed.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-of-at91.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-of-dwcmshc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-of-esdhc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-of-hlwd.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-of-sparx5.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-omap.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-pci-arasan.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-pci-core.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-pci-data.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-pci-dwc-mshc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-pci-gli.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-pci-o2micro.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-pci.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-pic32.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-pltfm.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-pltfm.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-pxav2.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-pxav3.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-s3c.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-sirf.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-spear.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-sprd.c mmc: sdhci-sprd: Fix eMMC init failure after hw reset 2024-11-18 12:12:08 +01:00
sdhci-st.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-tegra.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-xenon-phy.c mmc: sdhci-xenon: fix PHY init clock stability 2024-11-18 23:18:29 +01:00
sdhci-xenon.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-xenon.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci_am654.c mmc: sdhci_am654: fix start loop index for TAP value parsing 2024-11-18 11:43:22 +01:00
sdhci_f_sdh30.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci_f_sdh30.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdricoh_cs.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sh_mmcif.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sunxi-mmc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
tifm_sd.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
tmio_mmc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
tmio_mmc.h mmc: renesas_sdhi: use custom mask for TMIO_MASK_ALL 2024-11-18 10:58:28 +01:00
tmio_mmc_core.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
toshsd.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
toshsd.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
uniphier-sd.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
usdhi6rol0.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ushc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
via-sdmmc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
vub300.c mmc: vub300: fix an error code 2024-11-18 11:43:22 +01:00
wbsd.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
wbsd.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
wmt-sdmmc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00