提交 ba6e1f4f 编写于 作者: G Guzman Lugo, Fernando 提交者: Hari Kanigeri

OMAP: iovmm: no gap checking for fixed address

If some fixed da address is wanted to be mapped and the page
is freed but it is used as gap, the mapping will fail.
This patch is fixing that and olny keeps the gap for
not fixed address.
Signed-off-by: NFernando Guzman Lugo <x0095840@ti.com>
Acked-by: NHiroshi DOYU <Hiroshi.DOYU@nokia.com>
上级 ff0fba0b
......@@ -289,10 +289,10 @@ static struct iovm_struct *alloc_iovm_area(struct iommu *obj, u32 da,
prev_end = 0;
list_for_each_entry(tmp, &obj->mmap, list) {
if (prev_end >= start)
if (prev_end > start)
break;
if (start + bytes < tmp->da_start)
if (start + bytes <= tmp->da_start)
goto found;
if (flags & IOVMF_DA_ANON)
......@@ -301,7 +301,7 @@ static struct iovm_struct *alloc_iovm_area(struct iommu *obj, u32 da,
prev_end = tmp->da_end;
}
if ((start > prev_end) && (ULONG_MAX - start >= bytes))
if ((start >= prev_end) && (ULONG_MAX - start + 1 >= bytes))
goto found;
dev_dbg(obj->dev, "%s: no space to fit %08x(%x) flags: %08x\n",
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册