Commit 571f3160 authored by Srinath Mannam's avatar Srinath Mannam Committed by Joerg Roedel
Browse files

iommu/dma: Fix IOVA reserve dma ranges



Fix IOVA reserve failure in the case when address of first memory region
listed in dma-ranges is equal to 0x0.

Fixes: aadad097 ("iommu/dma: Reserve IOVA for PCIe inaccessible DMA address")
Signed-off-by: default avatarSrinath Mannam <srinath.mannam@broadcom.com>
Reviewed-by: default avatarRobin Murphy <robin.murphy@arm.com>
Tested-by: default avatarSven Peter <sven@svenpeter.dev>
Link: https://lore.kernel.org/r/20200914072319.6091-1-srinath.mannam@broadcom.com


Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
parent 8124c8a6
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -243,9 +243,11 @@ static int iova_reserve_pci_windows(struct pci_dev *dev,
			lo = iova_pfn(iovad, start);
			hi = iova_pfn(iovad, end);
			reserve_iova(iovad, lo, hi);
		} else {
		} else if (end < start) {
			/* dma_ranges list should be sorted */
			dev_err(&dev->dev, "Failed to reserve IOVA\n");
			dev_err(&dev->dev,
				"Failed to reserve IOVA [%#010llx-%#010llx]\n",
				start, end);
			return -EINVAL;
		}