summaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/dma-mapping.h
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-10-31 00:38:21 +0100
committerIngo Molnar <mingo@elte.hu>2008-10-31 00:38:21 +0100
commite1e302d8a9ab06ba8d7d5ec503d8996e6cf0eca4 (patch)
tree6a6c805fdfd6a2f6433956cbee348b2c3a277784 /arch/x86/include/asm/dma-mapping.h
parentftrace: ftrace dump on oops control (diff)
parentMerge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm (diff)
downloadlinux-e1e302d8a9ab06ba8d7d5ec503d8996e6cf0eca4.tar.xz
linux-e1e302d8a9ab06ba8d7d5ec503d8996e6cf0eca4.zip
Merge branch 'linus' into tracing/ftrace
Diffstat (limited to 'arch/x86/include/asm/dma-mapping.h')
-rw-r--r--arch/x86/include/asm/dma-mapping.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/x86/include/asm/dma-mapping.h b/arch/x86/include/asm/dma-mapping.h
index 4a5397bfce27..7f225a4b2a26 100644
--- a/arch/x86/include/asm/dma-mapping.h
+++ b/arch/x86/include/asm/dma-mapping.h
@@ -255,9 +255,11 @@ static inline unsigned long dma_alloc_coherent_mask(struct device *dev,
static inline gfp_t dma_alloc_coherent_gfp_flags(struct device *dev, gfp_t gfp)
{
-#ifdef CONFIG_X86_64
unsigned long dma_mask = dma_alloc_coherent_mask(dev, gfp);
+ if (dma_mask <= DMA_24BIT_MASK)
+ gfp |= GFP_DMA;
+#ifdef CONFIG_X86_64
if (dma_mask <= DMA_32BIT_MASK && !(gfp & GFP_DMA))
gfp |= GFP_DMA32;
#endif