aboutsummaryrefslogtreecommitdiff
path: root/sound/pci/emu10k1/memory.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2008-06-10 12:34:45 +0200
committerJaroslav Kysela <perex@perex.cz>2008-06-13 16:29:38 +0200
commit781711a93e8aae756e8ae07acef185a6dfe552b8 (patch)
treeb37a5118ae638b2ce4210326a8f621dea8cc888a /sound/pci/emu10k1/memory.c
parent36ca6e133ae3a57318a3ad8a41b2f005e3934c29 (diff)
ALSA: emu10k1 - Fix page allocation with GFP_DMA
Added the missing GFP_ATOMIC to page_alloc when called with GFP_DMA. GFP_KERNEL often results in stalls for ZONE_DMA, so GFP_ATOMIC is more prgmatic. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Diffstat (limited to 'sound/pci/emu10k1/memory.c')
-rw-r--r--sound/pci/emu10k1/memory.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/pci/emu10k1/memory.c b/sound/pci/emu10k1/memory.c
index 128eaca17a6..42943b4fcb7 100644
--- a/sound/pci/emu10k1/memory.c
+++ b/sound/pci/emu10k1/memory.c
@@ -466,7 +466,7 @@ static int synth_alloc_pages(struct snd_emu10k1 *emu, struct snd_emu10k1_memblk
__GFP_NOWARN);
if (!p || (page_to_pfn(p) & ~(emu->dma_mask >> PAGE_SHIFT)))
/* try to allocate from <16MB zone */
- p = alloc_page(GFP_DMA |
+ p = alloc_page(GFP_ATOMIC | GFP_DMA |
__GFP_NORETRY | /* no OOM-killer */
__GFP_NOWARN);
if (!p) {