From 73e5a848426fae8e7f1f685389aa61d7a98e7c36 Mon Sep 17 00:00:00 2001 From: Sebastian Ott Date: Tue, 18 Jun 2013 17:32:26 +0200 Subject: s390/dma: fix mapping_error detection The map_page implementation of s390 returns DMA_ERROR_CODE in an error situation. Correctly test if a mapping was erroneous (DMA_ERROR_CODE is defined as ~0). Signed-off-by: Sebastian Ott Acked-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky --- arch/s390/include/asm/dma-mapping.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'arch/s390/include') diff --git a/arch/s390/include/asm/dma-mapping.h b/arch/s390/include/asm/dma-mapping.h index 886ac7d4937a..9f15a36f6fd9 100644 --- a/arch/s390/include/asm/dma-mapping.h +++ b/arch/s390/include/asm/dma-mapping.h @@ -52,7 +52,7 @@ static inline int dma_mapping_error(struct device *dev, dma_addr_t dma_addr) if (dma_ops->mapping_error) return dma_ops->mapping_error(dev, dma_addr); - return (dma_addr == 0UL); + return (dma_addr == DMA_ERROR_CODE); } static inline void *dma_alloc_coherent(struct device *dev, size_t size, -- cgit v1.2.3 From 4026099a3118a1e038c48f3f85203a674938025b Mon Sep 17 00:00:00 2001 From: Sebastian Ott Date: Tue, 18 Jun 2013 17:38:31 +0200 Subject: s390/dma: support debug_dma_mapping_error Without this patch drivers will get blamed (CONFIG_DMA_API_DEBUG=y) for not calling dma_mapping_error (even if they do). Signed-off-by: Sebastian Ott Acked-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky --- arch/s390/include/asm/dma-mapping.h | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/s390/include') diff --git a/arch/s390/include/asm/dma-mapping.h b/arch/s390/include/asm/dma-mapping.h index 9f15a36f6fd9..2f8c1abeb086 100644 --- a/arch/s390/include/asm/dma-mapping.h +++ b/arch/s390/include/asm/dma-mapping.h @@ -50,6 +50,7 @@ static inline int dma_mapping_error(struct device *dev, dma_addr_t dma_addr) { struct dma_map_ops *dma_ops = get_dma_ops(dev); + debug_dma_mapping_error(dev, dma_addr); if (dma_ops->mapping_error) return dma_ops->mapping_error(dev, dma_addr); return (dma_addr == DMA_ERROR_CODE); -- cgit v1.2.3