27 lines
917 B
Diff
27 lines
917 B
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: amazingfate <[email protected]>
|
|
Date: Fri, 3 Nov 2023 18:04:43 +0800
|
|
Subject: dma-mapping: let dma_alloc_noncontiguous allow
|
|
DMA_ATTR_NO_KERNEL_MAPPING
|
|
|
|
---
|
|
kernel/dma/mapping.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/kernel/dma/mapping.c b/kernel/dma/mapping.c
|
|
index e323ca48f7f2..2468d0d25ca1 100644
|
|
--- a/kernel/dma/mapping.c
|
|
+++ b/kernel/dma/mapping.c
|
|
@@ -649,7 +649,7 @@ struct sg_table *dma_alloc_noncontiguous(struct device *dev, size_t size,
|
|
const struct dma_map_ops *ops = get_dma_ops(dev);
|
|
struct sg_table *sgt;
|
|
|
|
- if (WARN_ON_ONCE(attrs & ~DMA_ATTR_ALLOC_SINGLE_PAGES))
|
|
+ if (WARN_ON_ONCE((attrs & ~DMA_ATTR_ALLOC_SINGLE_PAGES) && (attrs & ~(DMA_ATTR_ALLOC_SINGLE_PAGES | DMA_ATTR_NO_KERNEL_MAPPING))))
|
|
return NULL;
|
|
if (WARN_ON_ONCE(gfp & __GFP_COMP))
|
|
return NULL;
|
|
--
|
|
Armbian
|
|
|