diff options
author | Takashi Iwai <tiwai@suse.de> | 2008-06-10 06:34:45 -0400 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2008-06-13 10:29:38 -0400 |
commit | 781711a93e8aae756e8ae07acef185a6dfe552b8 (patch) | |
tree | b37a5118ae638b2ce4210326a8f621dea8cc888a /sound/pci/emu10k1 | |
parent | 36ca6e133ae3a57318a3ad8a41b2f005e3934c29 (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')
-rw-r--r-- | sound/pci/emu10k1/memory.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/pci/emu10k1/memory.c b/sound/pci/emu10k1/memory.c index 128eaca17a61..42943b4fcb7b 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 | |||
466 | __GFP_NOWARN); | 466 | __GFP_NOWARN); |
467 | if (!p || (page_to_pfn(p) & ~(emu->dma_mask >> PAGE_SHIFT))) | 467 | if (!p || (page_to_pfn(p) & ~(emu->dma_mask >> PAGE_SHIFT))) |
468 | /* try to allocate from <16MB zone */ | 468 | /* try to allocate from <16MB zone */ |
469 | p = alloc_page(GFP_DMA | | 469 | p = alloc_page(GFP_ATOMIC | GFP_DMA | |
470 | __GFP_NORETRY | /* no OOM-killer */ | 470 | __GFP_NORETRY | /* no OOM-killer */ |
471 | __GFP_NOWARN); | 471 | __GFP_NOWARN); |
472 | if (!p) { | 472 | if (!p) { |