X-Git-Url: http://pilppa.org/gitweb/?a=blobdiff_plain;f=sound%2Fcore%2Fmemalloc.c;h=19b3dcbb09c23bdaad0192e53877116501275490;hb=a62e68488dd5ddb07776555fd7e0435c6d021ac1;hp=129abab5ce98a42fcd3a96fc587abe0da6e31ec9;hpb=2fc2991175bf77395e6b15fe6b2304d3bf72da40;p=linux-2.6-omap-h63xx.git diff --git a/sound/core/memalloc.c b/sound/core/memalloc.c index 129abab5ce9..19b3dcbb09c 100644 --- a/sound/core/memalloc.c +++ b/sound/core/memalloc.c @@ -43,10 +43,6 @@ MODULE_DESCRIPTION("Memory allocator for ALSA system."); MODULE_LICENSE("GPL"); -#ifndef SNDRV_CARDS -#define SNDRV_CARDS 8 -#endif - /* */ @@ -197,6 +193,7 @@ void *snd_malloc_pages(size_t size, gfp_t gfp_flags) snd_assert(size > 0, return NULL); snd_assert(gfp_flags != 0, return NULL); + gfp_flags |= __GFP_COMP; /* compound page lets parts be mapped */ pg = get_order(size); if ((res = (void *) __get_free_pages(gfp_flags, pg)) != NULL) { mark_pages(virt_to_page(res), pg); @@ -241,6 +238,7 @@ static void *snd_malloc_dev_pages(struct device *dev, size_t size, dma_addr_t *d snd_assert(dma != NULL, return NULL); pg = get_order(size); gfp_flags = GFP_KERNEL + | __GFP_COMP /* compound page lets parts be mapped */ | __GFP_NORETRY /* don't trigger OOM-killer */ | __GFP_NOWARN; /* no stack trace print - this call is non-critical */ res = dma_alloc_coherent(dev, PAGE_SIZE << pg, dma, gfp_flags);