X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=mm%2Fmmap.c;h=fa5cb89348bad2b034e3f2f9d82cac8e06390018;hb=089c13477b5bed0c83ebb4e7092f254b70df080d;hp=513286cff3a23e66ea5a8c0c98fa76a6e56e7bcf;hpb=8df8c7d7220e4ea159ca57edbf7f2c6cbf6a7278;p=firefly-linux-kernel-4.4.55.git diff --git a/mm/mmap.c b/mm/mmap.c index 513286cff3a2..fa5cb89348ba 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2574,6 +2574,16 @@ int do_munmap(struct mm_struct *mm, unsigned long start, size_t len) detach_vmas_to_be_unmapped(mm, vma, prev, end); unmap_region(mm, vma, prev, start, end); +#ifdef CONFIG_ARCH_ROCKCHIP + { + extern int ion_munmap(void *dmabuf, struct vm_area_struct *vma); + extern int dma_buf_is_dma_buf(struct file *file); + if (vma->vm_file && dma_buf_is_dma_buf(vma->vm_file)) { + ion_munmap(vma->vm_file->private_data, vma); + } + } +#endif + /* Fix up all other VM information */ remove_vma_list(mm, vma);