diff options
Diffstat (limited to 'kernel/dma/debug.c')
| -rw-r--r-- | kernel/dma/debug.c | 16 | 
1 files changed, 16 insertions, 0 deletions
| diff --git a/kernel/dma/debug.c b/kernel/dma/debug.c index c007d25bee09..231ca4628062 100644 --- a/kernel/dma/debug.c +++ b/kernel/dma/debug.c @@ -1312,6 +1312,22 @@ static void check_sg_segment(struct device *dev, struct scatterlist *sg)  #endif  } +void debug_dma_map_single(struct device *dev, const void *addr, +			    unsigned long len) +{ +	if (unlikely(dma_debug_disabled())) +		return; + +	if (!virt_addr_valid(addr)) +		err_printk(dev, NULL, "DMA-API: device driver maps memory from invalid area [addr=%p] [len=%lu]\n", +			   addr, len); + +	if (is_vmalloc_addr(addr)) +		err_printk(dev, NULL, "DMA-API: device driver maps memory from vmalloc area [addr=%p] [len=%lu]\n", +			   addr, len); +} +EXPORT_SYMBOL(debug_dma_map_single); +  void debug_dma_map_page(struct device *dev, struct page *page, size_t offset,  			size_t size, int direction, dma_addr_t dma_addr,  			bool map_single) |