[PATCH] dma-mapping.h: Preserve unmap info for CONFIG_DMA_API_DEBUG

From: Andrey Smirnov
Date: Tue Sep 20 2016 - 11:59:17 EST


When CONFIG_DMA_API_DEBUG is enabled we need to preserve unmapping
address even if "unmap" is a no-op for our architecutre because we need
debug_dma_unmap_page() to correctly cleanup all of the debug
bookkeeping. Failing to do so results in a false positive warnings about
previously mapped areas never being unmapped.

Signed-off-by: Andrey Smirnov <andrew.smirnov@xxxxxxxxx>
---
include/linux/dma-mapping.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/dma-mapping.h b/include/linux/dma-mapping.h
index 71c1b21..41c9875 100644
--- a/include/linux/dma-mapping.h
+++ b/include/linux/dma-mapping.h
@@ -678,7 +678,7 @@ static inline int dma_mmap_wc(struct device *dev,
#define dma_mmap_writecombine dma_mmap_wc
#endif

-#ifdef CONFIG_NEED_DMA_MAP_STATE
+#if defined(CONFIG_NEED_DMA_MAP_STATE) || defined(CONFIG_DMA_API_DEBUG)
#define DEFINE_DMA_UNMAP_ADDR(ADDR_NAME) dma_addr_t ADDR_NAME
#define DEFINE_DMA_UNMAP_LEN(LEN_NAME) __u32 LEN_NAME
#define dma_unmap_addr(PTR, ADDR_NAME) ((PTR)->ADDR_NAME)
--
2.5.5