diff -Naur linux-4.16.2/lib/swiotlb.c linux-4.16.2-p/lib/swiotlb.c --- linux-4.16.2/lib/swiotlb.c 2018-04-12 12:30:01.000000000 +0200 +++ linux-4.16.2-p/lib/swiotlb.c 2018-04-12 18:01:27.122073379 +0200 @@ -732,7 +732,7 @@ goto out_warn; *dma_handle = swiotlb_phys_to_dma(dev, phys_addr); - if (dma_coherent_ok(dev, *dma_handle, size)) + if (!dma_coherent_ok(dev, *dma_handle, size)) goto out_unmap; memset(phys_to_virt(phys_addr), 0, size);