mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 18:30:54 +07:00
asm/dma-mapping-common: Clarify output of dma_map_sg_attrs
Although dma_map_sg_attrs returns 0 on error and it cannot return a value < 0, the function returns a signed integer. Most of the time, this function is used with a scatterlist structure. This structure uses an unsigned integer for the number of memory. A dma developer that has not read in detail DMA-API.txt, can wrongly return a value < 0 on error. The comment will help the driver developer, and the WARN_ON the dma developer. Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
This commit is contained in:
parent
9eccca0843
commit
8582e267e9
@ -39,6 +39,10 @@ static inline void dma_unmap_single_attrs(struct device *dev, dma_addr_t addr,
|
|||||||
debug_dma_unmap_page(dev, addr, size, dir, true);
|
debug_dma_unmap_page(dev, addr, size, dir, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* dma_maps_sg_attrs returns 0 on error and > 0 on success.
|
||||||
|
* It should never return a value < 0.
|
||||||
|
*/
|
||||||
static inline int dma_map_sg_attrs(struct device *dev, struct scatterlist *sg,
|
static inline int dma_map_sg_attrs(struct device *dev, struct scatterlist *sg,
|
||||||
int nents, enum dma_data_direction dir,
|
int nents, enum dma_data_direction dir,
|
||||||
struct dma_attrs *attrs)
|
struct dma_attrs *attrs)
|
||||||
@ -51,6 +55,7 @@ static inline int dma_map_sg_attrs(struct device *dev, struct scatterlist *sg,
|
|||||||
kmemcheck_mark_initialized(sg_virt(s), s->length);
|
kmemcheck_mark_initialized(sg_virt(s), s->length);
|
||||||
BUG_ON(!valid_dma_direction(dir));
|
BUG_ON(!valid_dma_direction(dir));
|
||||||
ents = ops->map_sg(dev, sg, nents, dir, attrs);
|
ents = ops->map_sg(dev, sg, nents, dir, attrs);
|
||||||
|
BUG_ON(ents < 0);
|
||||||
debug_dma_map_sg(dev, sg, nents, ents, dir);
|
debug_dma_map_sg(dev, sg, nents, ents, dir);
|
||||||
|
|
||||||
return ents;
|
return ents;
|
||||||
|
Loading…
Reference in New Issue
Block a user