|
@@ -640,7 +640,7 @@ static void *__dma_alloc(struct device *dev, size_t size, dma_addr_t *handle,
|
|
|
|
|
|
if (is_coherent || nommu())
|
|
|
addr = __alloc_simple_buffer(dev, size, gfp, &page);
|
|
|
- else if (gfp & GFP_ATOMIC)
|
|
|
+ else if (!(gfp & __GFP_WAIT))
|
|
|
addr = __alloc_from_pool(size, &page);
|
|
|
else if (!IS_ENABLED(CONFIG_CMA))
|
|
|
addr = __alloc_remap_buffer(dev, size, gfp, prot, &page, caller);
|