X-Git-Url: http://git.monstr.eu/?a=blobdiff_plain;f=drivers%2Fiommu%2Fiova.c;h=f129ff4f5c8919503538e20555081ebd916f7ad0;hb=2070f940a6d5148cf2df0d0087ff0a64d9f15237;hp=33edfa794ae9f5514c5113fa27597a12373f2a5c;hpb=939ae58960bb5ce0c51776aec38877a401c03bcf;p=linux-2.6-microblaze.git diff --git a/drivers/iommu/iova.c b/drivers/iommu/iova.c index 33edfa794ae9..f129ff4f5c89 100644 --- a/drivers/iommu/iova.c +++ b/drivers/iommu/iova.c @@ -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;