瀏覽代碼

dma-mapping: warn when there is no coherent_dma_mask

These days all devices should have a DMA coherent mask, and most dma_ops
implementations rely on that fact.  But just to be sure add an assert to
ring the warning bell if that is not the case.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Vladimir Murzin <vladimir.murzin@arm.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Christoph Hellwig 7 年之前
父節點
當前提交
205e1b7f51
共有 1 個文件被更改,包括 1 次插入0 次删除
  1. 1 0
      include/linux/dma-mapping.h

+ 1 - 0
include/linux/dma-mapping.h

@@ -513,6 +513,7 @@ static inline void *dma_alloc_attrs(struct device *dev, size_t size,
 	void *cpu_addr;
 	void *cpu_addr;
 
 
 	BUG_ON(!ops);
 	BUG_ON(!ops);
+	WARN_ON_ONCE(dev && !dev->coherent_dma_mask);
 
 
 	if (dma_alloc_from_dev_coherent(dev, size, dma_handle, &cpu_addr))
 	if (dma_alloc_from_dev_coherent(dev, size, dma_handle, &cpu_addr))
 		return cpu_addr;
 		return cpu_addr;