From 9a16e83fe9ad16fc8312a46d429e3d62849b189e Mon Sep 17 00:00:00 2001 From: Simon Date: Fri, 17 Apr 2015 14:27:47 +0800 Subject: [PATCH] rk3368: iommu: delete region list if map failed Signed-off-by: Simon --- drivers/iommu/rockchip-iovmm.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/iommu/rockchip-iovmm.c b/drivers/iommu/rockchip-iovmm.c index c83573edaa41..d1100d6fcd24 100755 --- a/drivers/iommu/rockchip-iovmm.c +++ b/drivers/iommu/rockchip-iovmm.c @@ -156,10 +156,13 @@ dma_addr_t rockchip_iovmm_map(struct device *dev, } dev_dbg(dev->archdata.iommu, "IOVMM: Allocated VM region @ %p/%#X bytes.\n", ®ion->start, region->size); - + return region->start; err_map_map: + spin_lock(&vmm->lock); + list_del(®ion->node); + spin_unlock(&vmm->lock); iommu_unmap(vmm->domain, start, mapped_size); gen_pool_free(vmm->vmm_pool, start, size); err_map_noiomem: -- 2.34.1