diff options
| -rw-r--r-- | kernel/dma/direct.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/dma/direct.c b/kernel/dma/direct.c index 1c35b7b945d0..de87b0282e74 100644 --- a/kernel/dma/direct.c +++ b/kernel/dma/direct.c | |||
| @@ -168,7 +168,7 @@ int dma_direct_map_sg(struct device *dev, struct scatterlist *sgl, int nents, | |||
| 168 | int dma_direct_supported(struct device *dev, u64 mask) | 168 | int dma_direct_supported(struct device *dev, u64 mask) |
| 169 | { | 169 | { |
| 170 | #ifdef CONFIG_ZONE_DMA | 170 | #ifdef CONFIG_ZONE_DMA |
| 171 | if (mask < DMA_BIT_MASK(ARCH_ZONE_DMA_BITS)) | 171 | if (mask < phys_to_dma(dev, DMA_BIT_MASK(ARCH_ZONE_DMA_BITS))) |
| 172 | return 0; | 172 | return 0; |
| 173 | #else | 173 | #else |
| 174 | /* | 174 | /* |
| @@ -177,7 +177,7 @@ int dma_direct_supported(struct device *dev, u64 mask) | |||
| 177 | * memory, or by providing a ZONE_DMA32. If neither is the case, the | 177 | * memory, or by providing a ZONE_DMA32. If neither is the case, the |
| 178 | * architecture needs to use an IOMMU instead of the direct mapping. | 178 | * architecture needs to use an IOMMU instead of the direct mapping. |
| 179 | */ | 179 | */ |
| 180 | if (mask < DMA_BIT_MASK(32)) | 180 | if (mask < phys_to_dma(dev, DMA_BIT_MASK(32))) |
| 181 | return 0; | 181 | return 0; |
| 182 | #endif | 182 | #endif |
| 183 | /* | 183 | /* |
