]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/blobdiff - drivers/infiniband/core/rw.c
RDMA/core: remove use of dma_virt_ops
[mirror_ubuntu-hirsute-kernel.git] / drivers / infiniband / core / rw.c
index 13f43ab7220b05ac3438869810a4ddf99e723294..a96030b784eb21cf5f3885002d162fcc1ed70414 100644 (file)
@@ -285,8 +285,11 @@ static void rdma_rw_unmap_sg(struct ib_device *dev, struct scatterlist *sg,
 static int rdma_rw_map_sg(struct ib_device *dev, struct scatterlist *sg,
                          u32 sg_cnt, enum dma_data_direction dir)
 {
-       if (is_pci_p2pdma_page(sg_page(sg)))
+       if (is_pci_p2pdma_page(sg_page(sg))) {
+               if (WARN_ON_ONCE(ib_uses_virt_dma(dev)))
+                       return 0;
                return pci_p2pdma_map_sg(dev->dma_device, sg, sg_cnt, dir);
+       }
        return ib_dma_map_sg(dev, sg, sg_cnt, dir);
 }