[ARM] msm: iommu_domains: replace vmalloc with kmalloc

There is no point using vmalloc for small temporary allocations.  kmalloc will
allocate more quickly and will not fragment the vmalloc space.

Signed-off-by: Iliyan Malchev <malchev@google.com>
diff --git a/arch/arm/mach-msm/iommu_domains.c b/arch/arm/mach-msm/iommu_domains.c
index e92b5c5..8e91b4f 100644
--- a/arch/arm/mach-msm/iommu_domains.c
+++ b/arch/arm/mach-msm/iommu_domains.c
@@ -15,10 +15,8 @@
 #include <linux/iommu.h>
 #include <linux/memory_alloc.h>
 #include <linux/platform_device.h>
-#include <linux/vmalloc.h>
 #include <linux/rbtree.h>
 #include <linux/slab.h>
-#include <linux/vmalloc.h>
 #include <asm/sizes.h>
 #include <asm/page.h>
 #include <mach/iommu.h>
@@ -56,7 +54,7 @@
 		unsigned int nrpages = PFN_ALIGN(size) >> PAGE_SHIFT;
 		struct page *dummy_page = phys_to_page(phy_addr);
 
-		sglist = vmalloc(sizeof(*sglist) * nrpages);
+		sglist = kmalloc(sizeof(*sglist) * nrpages, GFP_KERNEL);
 		if (!sglist) {
 			ret = -ENOMEM;
 			goto out;
@@ -73,7 +71,7 @@
 				__func__, start_iova, domain);
 		}
 
-		vfree(sglist);
+		kfree(sglist);
 	} else {
 		unsigned long order = get_order(page_size);
 		unsigned long aligned_size = ALIGN(size, page_size);
@@ -128,7 +126,7 @@
 	int prot = IOMMU_WRITE | IOMMU_READ;
 	prot |= cached ? IOMMU_CACHE : 0;
 
-	sglist = vmalloc(sizeof(*sglist));
+	sglist = kmalloc(sizeof(*sglist), GFP_KERNEL);
 	if (!sglist) {
 		ret = -ENOMEM;
 		goto err1;
@@ -145,7 +143,7 @@
 			__func__, iova, domain);
 	}
 
-	vfree(sglist);
+	kfree(sglist);
 err1:
 	return ret;