dma-direct: don't check swiotlb=force in dma_direct_map_resource
authorChristoph Hellwig <hch@lst.de>
Tue, 19 Nov 2019 16:35:36 +0000 (17:35 +0100)
committerChristoph Hellwig <hch@lst.de>
Wed, 20 Nov 2019 19:31:41 +0000 (20:31 +0100)
When mapping resources we can't just use swiotlb ram for bounce
buffering.  Switch to a direct dma_capable check instead.

Fixes: cfced786969c ("dma-mapping: remove the default map_resource implementation")
Reported-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Marek Szyprowski <m.szyprowski@samsung.com>
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
kernel/dma/direct.c

index 077876ae5c7432e78816b25022663c988ab4c97c..a479bd2d1e8b1e0ad2512fb6ade62c361bd2b0e2 100644 (file)
@@ -412,7 +412,7 @@ dma_addr_t dma_direct_map_resource(struct device *dev, phys_addr_t paddr,
 {
        dma_addr_t dma_addr = paddr;
 
-       if (unlikely(!dma_direct_possible(dev, dma_addr, size))) {
+       if (unlikely(!dma_capable(dev, dma_addr, size))) {
                report_addr(dev, dma_addr, size);
                return DMA_MAPPING_ERROR;
        }