Browse Source

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>
Takashi Iwai 17 years ago
parent
commit
781711a93e
1 changed files with 1 additions and 1 deletions
  1. 1 1
      sound/pci/emu10k1/memory.c

+ 1 - 1
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) {