iommu: io-pgtable-arm: Improve coverage of arm_lpae_range_has_mapping

The arm_lpae_range_has_mapping currently checks if there are any
non-mapped slots in a given iova range, but it's really meant to check
if there is *any* mapping whatsoever in a given iova range.  Fix this.

Change-Id: I90e426ab157cc194328b754ac5021051ac883603
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
diff --git a/drivers/iommu/io-pgtable-arm.c b/drivers/iommu/io-pgtable-arm.c
index e447c4b..60c94ba 100644
--- a/drivers/iommu/io-pgtable-arm.c
+++ b/drivers/iommu/io-pgtable-arm.c
@@ -1130,7 +1130,7 @@
 })
 
 /*
- * Returns true if the entire iova range has any mapping in ops.
+ * Returns true if there's any mapping in the given iova range in ops.
  */
 static bool arm_lpae_range_has_mapping(struct io_pgtable_ops *ops,
 				       unsigned long iova_start, size_t size)
@@ -1138,11 +1138,11 @@
 	unsigned long iova = iova_start;
 
 	while (iova < (iova_start + size)) {
-		if (!ops->iova_to_phys(ops, iova + 42))
-			return false;
+		if (ops->iova_to_phys(ops, iova + 42))
+			return true;
 		iova += SZ_4K;
 	}
-	return true;
+	return false;
 }
 
 /*