On 20/09/16 16:58, Andrey Smirnov wrote: > 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.
Makes sense, although I guess it might be even clearer to simply have DMA_API_DEBUG select NEED_DMA_MAP_STATE. Either way, though, Reviewed-by: Robin Murphy <robin.mur...@arm.com> > > Signed-off-by: Andrey Smirnov <andrew.smir...@gmail.com> > --- > 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) >