Merge "msm: adsprpc: Update to retrieve the physical address for ION buffer"
diff --git a/arch/arm/mach-msm/qdsp6v2/adsprpc.h b/arch/arm/mach-msm/qdsp6v2/adsprpc.h
index 3e5754c..3f1b4a7 100644
--- a/arch/arm/mach-msm/qdsp6v2/adsprpc.h
+++ b/arch/arm/mach-msm/qdsp6v2/adsprpc.h
@@ -83,7 +83,7 @@
 	struct vm_area_struct *vma;
 	uint32_t start = buf_page_start(addr);
 	uint32_t len = nr_pages << PAGE_SHIFT;
-	uint32_t pfn;
+	unsigned long pfn;
 	int n = -1, err = 0;
 
 	VERIFY(err, 0 != access_ok(access ? VERIFY_WRITE : VERIFY_READ,
@@ -97,16 +97,12 @@
 	if (err)
 		goto bail;
 	n = 0;
-	VERIFY(err, 0 != (vma->vm_flags & VM_PFNMAP));
-	if (err)
-		goto bail;
-	VERIFY(err, 0 != (vma->vm_flags & VM_PFN_AT_MMAP));
+	VERIFY(err, 0 == follow_pfn(vma, start, &pfn));
 	if (err)
 		goto bail;
 	VERIFY(err, nr_elems > 0);
 	if (err)
 		goto bail;
-	pfn = vma->vm_pgoff + ((start - vma->vm_start) >> PAGE_SHIFT);
 	pages->addr = __pfn_to_phys(pfn);
 	pages->size = len;
 	n++;