|
@@ -88,19 +88,20 @@ static gfp_t massage_gfp_flags(const struct device *dev, gfp_t gfp)
|
|
|
else
|
|
|
#endif
|
|
|
#if defined(CONFIG_ZONE_DMA32) && defined(CONFIG_ZONE_DMA)
|
|
|
- if (dev->coherent_dma_mask < DMA_BIT_MASK(32))
|
|
|
+ if (dev == NULL || dev->coherent_dma_mask < DMA_BIT_MASK(32))
|
|
|
dma_flag = __GFP_DMA;
|
|
|
else if (dev->coherent_dma_mask < DMA_BIT_MASK(64))
|
|
|
dma_flag = __GFP_DMA32;
|
|
|
else
|
|
|
#endif
|
|
|
#if defined(CONFIG_ZONE_DMA32) && !defined(CONFIG_ZONE_DMA)
|
|
|
- if (dev->coherent_dma_mask < DMA_BIT_MASK(64))
|
|
|
+ if (dev == NULL || dev->coherent_dma_mask < DMA_BIT_MASK(64))
|
|
|
dma_flag = __GFP_DMA32;
|
|
|
else
|
|
|
#endif
|
|
|
#if defined(CONFIG_ZONE_DMA) && !defined(CONFIG_ZONE_DMA32)
|
|
|
- if (dev->coherent_dma_mask < DMA_BIT_MASK(sizeof(phys_addr_t) * 8))
|
|
|
+ if (dev == NULL ||
|
|
|
+ dev->coherent_dma_mask < DMA_BIT_MASK(sizeof(phys_addr_t) * 8))
|
|
|
dma_flag = __GFP_DMA;
|
|
|
else
|
|
|
#endif
|