瀏覽代碼

[DM/DMA] Use strict mode for device DMA pool

Signed-off-by: GuEe-GUI <2991707448@qq.com>
GuEe-GUI 5 月之前
父節點
當前提交
8f392779ef
共有 1 個文件被更改,包括 8 次插入2 次删除
  1. 8 2
      components/drivers/dma/dma_pool.c

+ 8 - 2
components/drivers/dma/dma_pool.c

@@ -322,8 +322,14 @@ static void *dma_alloc(struct rt_device *dev, rt_size_t size,
 
     rt_list_for_each_entry(pool, &dma_pool_nodes, list)
     {
-        if ((flags & RT_DMA_F_DEVICE) &&
-            (!(pool->flags & RT_DMA_F_DEVICE) || pool->dev != dev))
+        if (pool->flags & RT_DMA_F_DEVICE)
+        {
+            if (!(flags & RT_DMA_F_DEVICE) || pool->dev != dev)
+            {
+                continue;
+            }
+        }
+        else if ((flags & RT_DMA_F_DEVICE))
         {
             continue;
         }