浏览代码

Merge "msm: kgsl: Return error if guard page allocation fails"

qctecmdr 4 年之前
父节点
当前提交
6873f960ca
共有 1 个文件被更改,包括 9 次插入10 次删除
  1. 9 10
      drivers/gpu/msm/kgsl_iommu.c

+ 9 - 10
drivers/gpu/msm/kgsl_iommu.c

@@ -379,15 +379,14 @@ static int kgsl_iopgtbl_map(struct kgsl_pagetable *pagetable,
 		struct page *page = iommu_get_guard_page(memdesc);
 		size_t ret;
 
-		if (page) {
+		if (page)
 			ret = _iopgtbl_map_page_to_range(pt, page,
 				memdesc->gpuaddr + mapped, padding,
 				prot & ~IOMMU_WRITE);
 
-			if (ret == 0) {
-				_iopgtbl_unmap(pt, memdesc->gpuaddr, mapped);
-				return -ENOMEM;
-			}
+		if (!page || !ret) {
+			_iopgtbl_unmap(pt, memdesc->gpuaddr, mapped);
+			return -ENOMEM;
 		}
 	}
 
@@ -494,13 +493,13 @@ _kgsl_iommu_map(struct iommu_domain *domain, struct kgsl_memdesc *memdesc)
 		struct page *page = iommu_get_guard_page(memdesc);
 		size_t guard_mapped;
 
-		if (page) {
+		if (page)
 			guard_mapped = _iommu_map_page_to_range(domain, page,
 				memdesc->gpuaddr + mapped, padding, prot & ~IOMMU_WRITE);
-			if (!guard_mapped) {
-				_iommu_unmap(domain, memdesc->gpuaddr, mapped);
-				ret = -ENOMEM;
-			}
+
+		if (!page || !guard_mapped) {
+			_iommu_unmap(domain, memdesc->gpuaddr, mapped);
+			ret = -ENOMEM;
 		}
 	}