瀏覽代碼

omap iommu: Exit iteration if no possibility of available area

Searching avaialable spaces should be stopped as soon as it turns out
that there's no possibility with the rest of it.

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Hiroshi DOYU 15 年之前
父節點
當前提交
e0a42e4fcb
共有 1 個文件被更改,包括 4 次插入1 次删除
  1. 4 1
      arch/arm/plat-omap/iovmm.c

+ 4 - 1
arch/arm/plat-omap/iovmm.c

@@ -287,7 +287,10 @@ static struct iovm_struct *alloc_iovm_area(struct iommu *obj, u32 da,
 	prev_end = 0;
 	prev_end = 0;
 	list_for_each_entry(tmp, &obj->mmap, list) {
 	list_for_each_entry(tmp, &obj->mmap, list) {
 
 
-		if ((prev_end < start) && (start + bytes < tmp->da_start))
+		if (prev_end >= start)
+			break;
+
+		if (start + bytes < tmp->da_start)
 			goto found;
 			goto found;
 
 
 		if (flags & IOVMF_DA_ANON)
 		if (flags & IOVMF_DA_ANON)