These checks were intended to handle devices not mapped by the IOMMU. Since the AMD IOMMU driver uses per-device dma_ops these functions can no longer be called by direct mapped devices. So these checks aren't needed anymore.
Signed-off-by: Tom Murphy <[email protected]> --- drivers/iommu/amd_iommu.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c index b319e51c379b..67cdc9e5304b 100644 --- a/drivers/iommu/amd_iommu.c +++ b/drivers/iommu/amd_iommu.c @@ -2503,9 +2503,7 @@ static dma_addr_t map_page(struct device *dev, struct page *page, u64 dma_mask; domain = get_domain(dev); - if (PTR_ERR(domain) == -EINVAL) - return (dma_addr_t)paddr; - else if (IS_ERR(domain)) + if (IS_ERR(domain)) return DMA_MAPPING_ERROR; dma_mask = *dev->dma_mask; @@ -2676,11 +2674,7 @@ static void *alloc_coherent(struct device *dev, size_t size, struct page *page; domain = get_domain(dev); - if (PTR_ERR(domain) == -EINVAL) { - page = alloc_pages(flag, get_order(size)); - *dma_addr = page_to_phys(page); - return page_address(page); - } else if (IS_ERR(domain)) + if (IS_ERR(domain)) return NULL; dma_dom = to_dma_ops_domain(domain); -- 2.17.1 _______________________________________________ iommu mailing list [email protected] https://lists.linuxfoundation.org/mailman/listinfo/iommu
