mmc: cavium: Add the missing dma unmap when the dma has finished.
This fixes the below calltrace when the CONFIG_DMA_API_DEBUG is enabled.
DMA-API: thunderx_mmc 0000:01:01.4: cpu touching an active dma mapped cacheline [cln=0x000000002fdf9800]
WARNING: CPU: 21 PID: 1 at kernel/dma/debug.c:596 debug_dma_assert_idle+0x1f8/0x270
Modules linked in:
CPU: 21 PID: 1 Comm: init Not tainted 5.3.0-rc1-next-
20190725-yocto-standard+ #64
Hardware name: Marvell OcteonTX CN96XX board (DT)
pstate:
80400009 (Nzcv daif +PAN -UAO)
pc : debug_dma_assert_idle+0x1f8/0x270
lr : debug_dma_assert_idle+0x1f8/0x270
sp :
ffff0000113cfc10
x29:
ffff0000113cfc10 x28:
0000ffff8c880000
x27:
ffff800bc72a0000 x26:
ffff000010ff8000
x25:
ffff000010ff8940 x24:
ffff000010ff8968
x23:
0000000000000000 x22:
ffff000010e83700
x21:
ffff000010ea2000 x20:
ffff000010e835c8
x19:
ffff800bc2c73300 x18:
ffffffffffffffff
x17:
0000000000000000 x16:
0000000000000000
x15:
ffff000010e835c8 x14:
6d20616d64206576
x13:
69746361206e6120 x12:
676e696863756f74
x11:
20757063203a342e x10:
31303a31303a3030
x9 :
303020636d6d5f78 x8 :
3230303030303030
x7 :
00000000000002fd x6 :
ffff000010fd57d0
x5 :
0000000000000000 x4 :
ffff0000106c5210
x3 :
00000000ffffffff x2 :
0000800bee9c0000
x1 :
57d5843f4aa62800 x0 :
0000000000000000
Call trace:
debug_dma_assert_idle+0x1f8/0x270
wp_page_copy+0xb0/0x688
do_wp_page+0xa8/0x5b8
__handle_mm_fault+0x600/0xd00
handle_mm_fault+0x118/0x1e8
do_page_fault+0x200/0x500
do_mem_abort+0x50/0xb0
el0_da+0x20/0x24
---[ end trace
a005534bd23e109f ]---
DMA-API: Mapped at:
debug_dma_map_sg+0x94/0x350
cvm_mmc_request+0x3c4/0x988
__mmc_start_request+0x9c/0x1f8
mmc_start_request+0x7c/0xb0
mmc_blk_mq_issue_rq+0x5c4/0x7b8
Signed-off-by: Kevin Hao <haokexin@gmail.com>
Fixes:
ba3869ff32e4 ("mmc: cavium: Add core MMC driver for Cavium SOCs")
Cc: stable@vger.kernel.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>