linux/include/linux/mmc
Haibo Chen c1d40e01ad mmc: sdhci: fix dma memory leak in sdhci_pre_req()
commit d31911b937 upstream.

Currently one mrq->data maybe execute dma_map_sg() twice
when mmc subsystem prepare over one new request, and the
following log show up:
	sdhci[sdhci_pre_dma_transfer] invalid cookie: 24, next-cookie 25

In this condition, mrq->date map a dma-memory(1) in sdhci_pre_req
for the first time, and map another dma-memory(2) in sdhci_prepare_data
for the second time. But driver only unmap the dma-memory(2), and
dma-memory(1) never unmapped, which cause the dma memory leak issue.

This patch use another method to map the dma memory for the mrq->data
which can fix this dma memory leak issue.

Fixes: 348487cb28 ("mmc: sdhci: use pipeline mmc requests to improve performance")
Reported-and-tested-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Haibo Chen <haibo.chen@freescale.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2015-10-22 14:43:24 -07:00
..
boot.h mmc: Standardize header file inclusion checks. 2011-07-20 17:20:48 -04:00
card.h Revert "mmc: core: Convert mmc_driver to device_driver" 2015-04-17 11:48:01 +02:00
core.h mmc: sdhci: fix dma memory leak in sdhci_pre_req() 2015-10-22 14:43:24 -07:00
dw_mmc.h mmc: dw_mmc: fix fifo ordering in big endian 2015-04-09 09:08:15 +02:00
host.h mmc: core: Remove the ->enable|disable() callbacks 2015-03-27 10:57:55 +01:00
mmc.h mmc: Resolve BKOPS compatability issue 2015-01-29 11:15:12 +01:00
pm.h mmc: Standardize header file inclusion checks. 2011-07-20 17:20:48 -04:00
sd.h mmc: Standardize header file inclusion checks. 2011-07-20 17:20:48 -04:00
sdhci-pci-data.h mmc: sdhci-pci: add platform data 2012-01-11 23:58:47 -05:00
sdio.h mmc: sdio: fix setting card data bus width as 4-bit 2012-06-06 09:22:53 -04:00
sdio_func.h mmc: core: Don't export the to_sdio_driver macro 2014-11-10 12:40:32 +01:00
sdio_ids.h brcmfmac: add support for BCM43430 SDIO chipset 2015-03-20 09:03:46 +02:00
sh_mmcif.h mmc: sh_mmcif: revision-specific CLK_CTRL2 handling 2013-08-25 00:10:18 -04:00
sh_mobile_sdhi.h mmc: sh_mobile_sdhi: remove sh_mobile_sdhi_info 2015-03-05 21:54:26 +05:30
slot-gpio.h mmc: slot-gpio: Allow host driver to provide isr for card-detect interrupts 2015-01-19 09:56:29 +01:00
tmio.h mmc: SDHI: add SoC specific workaround via HW version 2014-01-13 12:48:24 -05:00