aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/plat-omap/iovmm.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/arm/plat-omap/iovmm.c b/arch/arm/plat-omap/iovmm.c
index 8ce0de247c71..34f0012b5676 100644
--- a/arch/arm/plat-omap/iovmm.c
+++ b/arch/arm/plat-omap/iovmm.c
@@ -289,10 +289,10 @@ static struct iovm_struct *alloc_iovm_area(struct iommu *obj, u32 da,
289 prev_end = 0; 289 prev_end = 0;
290 list_for_each_entry(tmp, &obj->mmap, list) { 290 list_for_each_entry(tmp, &obj->mmap, list) {
291 291
292 if (prev_end >= start) 292 if (prev_end > start)
293 break; 293 break;
294 294
295 if (start + bytes < tmp->da_start) 295 if (start + bytes <= tmp->da_start)
296 goto found; 296 goto found;
297 297
298 if (flags & IOVMF_DA_ANON) 298 if (flags & IOVMF_DA_ANON)
@@ -301,7 +301,7 @@ static struct iovm_struct *alloc_iovm_area(struct iommu *obj, u32 da,
301 prev_end = tmp->da_end; 301 prev_end = tmp->da_end;
302 } 302 }
303 303
304 if ((start > prev_end) && (ULONG_MAX - start >= bytes)) 304 if ((start >= prev_end) && (ULONG_MAX - start + 1 >= bytes))
305 goto found; 305 goto found;
306 306
307 dev_dbg(obj->dev, "%s: no space to fit %08x(%x) flags: %08x\n", 307 dev_dbg(obj->dev, "%s: no space to fit %08x(%x) flags: %08x\n",