diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-03-15 17:35:03 -0700 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-03-15 17:35:03 -0700 | 
| commit | c7f17deb316e41a9db28d7486f4067d06d68ebf0 (patch) | |
| tree | 979178b5f58b4f2378824df31974387d03048a52 | |
| parent | de1893f64045ab476060bd09fb9f3bc35d7b7b57 (diff) | |
| parent | 9d1400cf79afb49584b4873eb22cd5130cb341db (diff) | |
| download | olio-linux-3.10-c7f17deb316e41a9db28d7486f4067d06d68ebf0.tar.xz olio-linux-3.10-c7f17deb316e41a9db28d7486f4067d06d68ebf0.zip  | |
Merge branch 'fixes-for-3.9' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping
Pull DMA-mapping fix from Marek Szyprowski:
 "An important fix for all ARM architectures which use ZONE_DMA.
  Without it dma_alloc_* calls with GFP_ATOMIC flag might have allocated
  buffers outsize DMA zone."
* 'fixes-for-3.9' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping:
  ARM: DMA-mapping: add missing GFP_DMA flag for atomic buffer allocation
| -rw-r--r-- | arch/arm/mm/dma-mapping.c | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c index c7e3759f16d..e9db6b4bf65 100644 --- a/arch/arm/mm/dma-mapping.c +++ b/arch/arm/mm/dma-mapping.c @@ -342,6 +342,7 @@ static int __init atomic_pool_init(void)  {  	struct dma_pool *pool = &atomic_pool;  	pgprot_t prot = pgprot_dmacoherent(pgprot_kernel); +	gfp_t gfp = GFP_KERNEL | GFP_DMA;  	unsigned long nr_pages = pool->size >> PAGE_SHIFT;  	unsigned long *bitmap;  	struct page *page; @@ -361,8 +362,8 @@ static int __init atomic_pool_init(void)  		ptr = __alloc_from_contiguous(NULL, pool->size, prot, &page,  					      atomic_pool_init);  	else -		ptr = __alloc_remap_buffer(NULL, pool->size, GFP_KERNEL, prot, -					   &page, atomic_pool_init); +		ptr = __alloc_remap_buffer(NULL, pool->size, gfp, prot, &page, +					   atomic_pool_init);  	if (ptr) {  		int i;  |