From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: amazingfate <liujianfeng1994@gmail.com>
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

