diff options
author | Roy Pledge <Roy.Pledge@freescale.com> | 2014-03-24 17:52:40 (GMT) |
---|---|---|
committer | Jose Rivera <German.Rivera@freescale.com> | 2014-03-26 01:00:25 (GMT) |
commit | 75267f2867d92b0632a185462ad24f72a6391889 (patch) | |
tree | d9272b6ab9768836a370dbc3c5026d138a1f24f1 | |
parent | 27df142b9bd2957c897529abd2fd7bc86b0671f8 (diff) | |
download | linux-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>
-rw-r--r-- | drivers/staging/fsl_qbman/fsl_usdpaa.c | 2 |
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; |