mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-06 02:50:43 +00:00
![Marek Szyprowski](/assets/img/avatar_default.png)
dev_set_cma_area incorrectly assigned cma to global area on first call due to incorrect check. This patch fixes this issue. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
28 lines
526 B
C
28 lines
526 B
C
#ifndef ASM_DMA_CONTIGUOUS_H
|
|
#define ASM_DMA_CONTIGUOUS_H
|
|
|
|
#ifdef __KERNEL__
|
|
#ifdef CONFIG_CMA
|
|
|
|
#include <linux/device.h>
|
|
#include <linux/dma-contiguous.h>
|
|
|
|
static inline struct cma *dev_get_cma_area(struct device *dev)
|
|
{
|
|
if (dev && dev->cma_area)
|
|
return dev->cma_area;
|
|
return dma_contiguous_default_area;
|
|
}
|
|
|
|
static inline void dev_set_cma_area(struct device *dev, struct cma *cma)
|
|
{
|
|
if (dev)
|
|
dev->cma_area = cma;
|
|
if (!dev && !dma_contiguous_default_area)
|
|
dma_contiguous_default_area = cma;
|
|
}
|
|
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|