s390/pci_dma: remove dma address range check
authorSebastian Ott <sebott@linux.vnet.ibm.com>
Wed, 17 Aug 2016 11:39:46 +0000 (13:39 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Thu, 22 Sep 2016 11:42:30 +0000 (13:42 +0200)
We calculate dma addresses using an iommu bitmap. Since commit
69eea95c ("s390/pci_dma: fix DMA table corruption with > 4 TB main memory")
we've made sure that addresses created using that bitmap are below
the maximum reported by firmware. Thus the additional check for
that address to be within range can be removed.

Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Reviewed-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/pci/pci_dma.c

index 7297fce9bf8032d9140e4611b101cf7977123fec..658123961f4209c830296e04eaba44d6524738c5 100644 (file)
@@ -305,12 +305,7 @@ static dma_addr_t s390_dma_map_pages(struct device *dev, struct page *page,
 
        /* Use rounded up size */
        size = nr_pages * PAGE_SIZE;
-
        dma_addr = zdev->start_dma + iommu_page_index * PAGE_SIZE;
-       if (dma_addr + size > zdev->end_dma) {
-               ret = -ERANGE;
-               goto out_free;
-       }
 
        if (direction == DMA_NONE || direction == DMA_TO_DEVICE)
                flags |= ZPCI_TABLE_PROTECTED;