From 75267f2867d92b0632a185462ad24f72a6391889 Mon Sep 17 00:00:00 2001 From: Roy Pledge Date: Mon, 24 Mar 2014 13:52:40 -0400 Subject: 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 Change-Id: I2b92a022e6cb7815056567487688c39774a5008f Reviewed-on: http://git.am.freescale.net:8181/10180 Tested-by: Review Code-CDREVIEW Reviewed-by: Geoff Thorpe Reviewed-by: Jose Rivera 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; -- cgit v0.10.2