Clear __GFP_DMA32 bit when calling kmalloc()

The slab allocator does not like the flag __GFP_DMA32 which triggers a
BUG_ON() in mm/slab.c:cache_grow(). Let's clear the __GFP_DMA32 flag
when calling arm_vmregion_alloc() which calls kmalloc().

This should fix b/13748436

Change-Id: Ie4cce8d0972b0f6a19c96e1140202a69d6c1f6a1
diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
index c89301b..11338cd 100644
--- a/arch/arm/mm/dma-mapping.c
+++ b/arch/arm/mm/dma-mapping.c
@@ -314,7 +314,7 @@
 	 * Allocate a virtual address in the consistent mapping region.
 	 */
 	c = arm_vmregion_alloc(&consistent_head, align, size,
-			    gfp & ~(__GFP_DMA | __GFP_HIGHMEM));
+			    gfp & ~(__GFP_DMA | __GFP_HIGHMEM | __GFP_DMA32));
 	if (c) {
 		pte_t *pte;
 		int idx = CONSISTENT_PTE_INDEX(c->vm_start);