diff options
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/dma/swiotlb.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c index 5731daa09a32..045930e32c0e 100644 --- a/kernel/dma/swiotlb.c +++ b/kernel/dma/swiotlb.c | |||
@@ -679,7 +679,8 @@ dma_addr_t swiotlb_map_page(struct device *dev, struct page *page, | |||
679 | } | 679 | } |
680 | 680 | ||
681 | if (!dev_is_dma_coherent(dev) && | 681 | if (!dev_is_dma_coherent(dev) && |
682 | (attrs & DMA_ATTR_SKIP_CPU_SYNC) == 0) | 682 | (attrs & DMA_ATTR_SKIP_CPU_SYNC) == 0 && |
683 | dev_addr != DIRECT_MAPPING_ERROR) | ||
683 | arch_sync_dma_for_device(dev, phys, size, dir); | 684 | arch_sync_dma_for_device(dev, phys, size, dir); |
684 | 685 | ||
685 | return dev_addr; | 686 | return dev_addr; |