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++;