|
@@ -342,15 +342,12 @@ private_find_iova(struct iova_domain *iovad, unsigned long pfn)
|
|
|
while (node) {
|
|
|
struct iova *iova = rb_entry(node, struct iova, node);
|
|
|
|
|
|
- /* If pfn falls within iova's range, return iova */
|
|
|
- if ((pfn >= iova->pfn_lo) && (pfn <= iova->pfn_hi)) {
|
|
|
- return iova;
|
|
|
- }
|
|
|
-
|
|
|
if (pfn < iova->pfn_lo)
|
|
|
node = node->rb_left;
|
|
|
- else if (pfn > iova->pfn_lo)
|
|
|
+ else if (pfn > iova->pfn_hi)
|
|
|
node = node->rb_right;
|
|
|
+ else
|
|
|
+ return iova; /* pfn falls within iova's range */
|
|
|
}
|
|
|
|
|
|
return NULL;
|