diff options
author | Haibo Chen <haibo.chen@freescale.com> | 2015-08-25 10:02:11 +0800 |
---|---|---|
committer | Ulf Hansson <ulf.hansson@linaro.org> | 2015-08-27 14:50:49 +0200 |
commit | d31911b9374a76560d2c8ea4aa6ce5781621e81d (patch) | |
tree | 40614c54f02bfece90f8e25dc442451fefb3be77 /drivers/memstick | |
parent | 90614cd9045dc7003913ee58cbc77950351485a0 (diff) | |
download | blackbird-op-linux-d31911b9374a76560d2c8ea4aa6ce5781621e81d.tar.gz blackbird-op-linux-d31911b9374a76560d2c8ea4aa6ce5781621e81d.zip |
mmc: sdhci: fix dma memory leak in sdhci_pre_req()
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: 348487cb28e6 ("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>
Diffstat (limited to 'drivers/memstick')
0 files changed, 0 insertions, 0 deletions