From: hjc Date: Fri, 15 May 2015 01:29:24 +0000 (+0800) Subject: rk iommu: fix system panic when iommu pagefault X-Git-Tag: firefly_0821_release~4158^2~80 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=ada8a223c6dd4c69b7f5068a8c13a12779698dd4;p=firefly-linux-kernel-4.4.55.git rk iommu: fix system panic when iommu pagefault Signed-off-by: Simon Signed-off-by: cmy --- diff --git a/drivers/iommu/rockchip-iovmm.c b/drivers/iommu/rockchip-iovmm.c old mode 100644 new mode 100755 index bb68d16575dd..dffeab341311 --- a/drivers/iommu/rockchip-iovmm.c +++ b/drivers/iommu/rockchip-iovmm.c @@ -146,9 +146,12 @@ dma_addr_t rockchip_iovmm_map(struct device *dev, spin_unlock(&vmm->lock); ret = rockchip_iommu_tlb_invalidate(dev); - if (ret) + if (ret) { + spin_lock(&vmm->lock); + list_del(®ion->node); + spin_unlock(&vmm->lock); goto err_map_map; - + } dev_dbg(dev->archdata.iommu, "IOVMM: Allocated VM region @ %p/%#X bytes.\n", ®ion->start, region->size);