summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/kernel/pci-nommu.c3
-rw-r--r--include/asm-x86/dma-mapping.h3
2 files changed, 3 insertions, 3 deletions
diff --git a/arch/x86/kernel/pci-nommu.c b/arch/x86/kernel/pci-nommu.c
index 73853d3fdca..0f51883cc6a 100644
--- a/arch/x86/kernel/pci-nommu.c
+++ b/arch/x86/kernel/pci-nommu.c
@@ -80,9 +80,6 @@ nommu_alloc_coherent(struct device *hwdev, size_t size,
int node;
struct page *page;
- if (hwdev->dma_mask == NULL)
- return NULL;
-
gfp &= ~(__GFP_DMA | __GFP_HIGHMEM | __GFP_DMA32);
gfp |= __GFP_ZERO;
diff --git a/include/asm-x86/dma-mapping.h b/include/asm-x86/dma-mapping.h
index 3a9a6f5e681..088c56814aa 100644
--- a/include/asm-x86/dma-mapping.h
+++ b/include/asm-x86/dma-mapping.h
@@ -254,6 +254,9 @@ dma_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_handle,
gfp |= GFP_DMA;
}
+ if (!dev->dma_mask)
+ return NULL;
+
if (ops->alloc_coherent)
return ops->alloc_coherent(dev, size,
dma_handle, gfp);