diff options
author | Takashi Iwai <tiwai@suse.de> | 2008-06-10 12:34:45 +0200 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2008-06-13 16:29:38 +0200 |
commit | 781711a93e8aae756e8ae07acef185a6dfe552b8 (patch) | |
tree | b37a5118ae638b2ce4210326a8f621dea8cc888a /sound/pci/emu10k1/memory.c | |
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/memory.c')
-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 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) { |