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 7297fce..6581239 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;