summaryrefslogtreecommitdiff
path: root/drivers/staging/fsl_qbman/fsl_usdpaa.c
diff options
context:
space:
mode:
authorRoy Pledge <Roy.Pledge@freescale.com>2014-03-24 17:52:40 (GMT)
committerJose Rivera <German.Rivera@freescale.com>2014-03-26 01:00:25 (GMT)
commit75267f2867d92b0632a185462ad24f72a6391889 (patch)
treed9272b6ab9768836a370dbc3c5026d138a1f24f1 /drivers/staging/fsl_qbman/fsl_usdpaa.c
parent27df142b9bd2957c897529abd2fd7bc86b0671f8 (diff)
downloadlinux-fsl-qoriq-75267f2867d92b0632a185462ad24f72a6391889.tar.xz
Remove mapping from DMA map list during unmap
The DMA mapping record was not being removed from a processes DMA map when dma_mem_destroy() is called. This made it impossible to remap the same named segment without restarting the process Signed-off-by: Roy Pledge <Roy.Pledge@freescale.com> Change-Id: I2b92a022e6cb7815056567487688c39774a5008f Reviewed-on: http://git.am.freescale.net:8181/10180 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Geoff Thorpe <Geoff.Thorpe@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
Diffstat (limited to 'drivers/staging/fsl_qbman/fsl_usdpaa.c')
-rw-r--r--drivers/staging/fsl_qbman/fsl_usdpaa.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/staging/fsl_qbman/fsl_usdpaa.c b/drivers/staging/fsl_qbman/fsl_usdpaa.c
index d86a4ff..fb4aaba 100644
--- a/drivers/staging/fsl_qbman/fsl_usdpaa.c
+++ b/drivers/staging/fsl_qbman/fsl_usdpaa.c
@@ -1031,6 +1031,8 @@ static long ioctl_dma_unmap(struct ctx *ctx, void __user *arg)
}
map = NULL;
map_match:
+ list_del(&map->list);
+ compress_frags();
spin_unlock(&mem_lock);
if (map) {
unsigned long base = vma->vm_start;