提交 cd1c6a48 编写于 作者: R Rolf Eike Beer 提交者: Linus Torvalds

[PATCH] Use valid_dma_direction() in include/asm-i386/dma-mapping.h

Now that the generic DMA code has a function to decide if a given DMA
mapping is valid use it.  This will catch cases where direction is not any
of the defined enum values but some random number outside the valid range.
The current implementation will only catch the defined but invalid case
DMA_NONE.
Signed-off-by: NRolf Eike Beer <eike-kernel@sf-tec.de>
Acked-by: NMuli Ben-Yehuda <muli@il.ibm.com>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 d6bd3a39
...@@ -21,7 +21,7 @@ static inline dma_addr_t ...@@ -21,7 +21,7 @@ static inline dma_addr_t
dma_map_single(struct device *dev, void *ptr, size_t size, dma_map_single(struct device *dev, void *ptr, size_t size,
enum dma_data_direction direction) enum dma_data_direction direction)
{ {
BUG_ON(direction == DMA_NONE); BUG_ON(!valid_dma_direction(direction));
WARN_ON(size == 0); WARN_ON(size == 0);
flush_write_buffers(); flush_write_buffers();
return virt_to_phys(ptr); return virt_to_phys(ptr);
...@@ -31,7 +31,7 @@ static inline void ...@@ -31,7 +31,7 @@ static inline void
dma_unmap_single(struct device *dev, dma_addr_t dma_addr, size_t size, dma_unmap_single(struct device *dev, dma_addr_t dma_addr, size_t size,
enum dma_data_direction direction) enum dma_data_direction direction)
{ {
BUG_ON(direction == DMA_NONE); BUG_ON(!valid_dma_direction(direction));
} }
static inline int static inline int
...@@ -40,7 +40,7 @@ dma_map_sg(struct device *dev, struct scatterlist *sg, int nents, ...@@ -40,7 +40,7 @@ dma_map_sg(struct device *dev, struct scatterlist *sg, int nents,
{ {
int i; int i;
BUG_ON(direction == DMA_NONE); BUG_ON(!valid_dma_direction(direction));
WARN_ON(nents == 0 || sg[0].length == 0); WARN_ON(nents == 0 || sg[0].length == 0);
for (i = 0; i < nents; i++ ) { for (i = 0; i < nents; i++ ) {
...@@ -57,7 +57,7 @@ static inline dma_addr_t ...@@ -57,7 +57,7 @@ static inline dma_addr_t
dma_map_page(struct device *dev, struct page *page, unsigned long offset, dma_map_page(struct device *dev, struct page *page, unsigned long offset,
size_t size, enum dma_data_direction direction) size_t size, enum dma_data_direction direction)
{ {
BUG_ON(direction == DMA_NONE); BUG_ON(!valid_dma_direction(direction));
return page_to_phys(page) + offset; return page_to_phys(page) + offset;
} }
...@@ -65,7 +65,7 @@ static inline void ...@@ -65,7 +65,7 @@ static inline void
dma_unmap_page(struct device *dev, dma_addr_t dma_address, size_t size, dma_unmap_page(struct device *dev, dma_addr_t dma_address, size_t size,
enum dma_data_direction direction) enum dma_data_direction direction)
{ {
BUG_ON(direction == DMA_NONE); BUG_ON(!valid_dma_direction(direction));
} }
...@@ -73,7 +73,7 @@ static inline void ...@@ -73,7 +73,7 @@ static inline void
dma_unmap_sg(struct device *dev, struct scatterlist *sg, int nhwentries, dma_unmap_sg(struct device *dev, struct scatterlist *sg, int nhwentries,
enum dma_data_direction direction) enum dma_data_direction direction)
{ {
BUG_ON(direction == DMA_NONE); BUG_ON(!valid_dma_direction(direction));
} }
static inline void static inline void
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册