osd: osd_mmap no more locks to release [1/1]
authorCao Jian <jian.cao@amlogic.com>
Fri, 26 Jul 2019 09:46:04 +0000 (17:46 +0800)
committerTao Zeng <tao.zeng@amlogic.com>
Tue, 30 Jul 2019 02:29:29 +0000 (19:29 -0700)
PD#SWPL-11768

Problem:
release one more mutex in osd_mmap

Solution:
remove mutex release in osd_mmap

Verify:
Verfied on p212

Change-Id: I139b80590740717ced321171ee665d0f6c0cd83f
Signed-off-by: Cao Jian <jian.cao@amlogic.com>
drivers/amlogic/media/osd/osd_fb.c
drivers/amlogic/media/osd/osd_virtual.c

index 6d09a90..45f1ba6 100644 (file)
@@ -1543,7 +1543,6 @@ static int osd_mmap(struct fb_info *info, struct vm_area_struct *vma)
        mmio_pgoff = PAGE_ALIGN((start & ~PAGE_MASK) + len) >> PAGE_SHIFT;
        if (vma->vm_pgoff >= mmio_pgoff) {
                if (info->var.accel_flags) {
-                       mutex_unlock(&info->mm_lock);
                        return -EINVAL;
                }
 
@@ -1551,7 +1550,6 @@ static int osd_mmap(struct fb_info *info, struct vm_area_struct *vma)
                start = info->fix.mmio_start;
                len = info->fix.mmio_len;
        }
-       mutex_unlock(&info->mm_lock);
 
        vma->vm_page_prot = vm_get_page_prot(vma->vm_flags);
        vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
index 0f7ab7b..cf08dd7 100644 (file)
@@ -612,7 +612,6 @@ static int virt_osd_mmap(struct fb_info *info, struct vm_area_struct *vma)
        mmio_pgoff = PAGE_ALIGN((start & ~PAGE_MASK) + len) >> PAGE_SHIFT;
        if (vma->vm_pgoff >= mmio_pgoff) {
                if (info->var.accel_flags) {
-                       mutex_unlock(&info->mm_lock);
                        return -EINVAL;
                }
 
@@ -620,7 +619,6 @@ static int virt_osd_mmap(struct fb_info *info, struct vm_area_struct *vma)
                start = info->fix.mmio_start;
                len = info->fix.mmio_len;
        }
-       mutex_unlock(&info->mm_lock);
 
        vma->vm_page_prot = vm_get_page_prot(vma->vm_flags);
        vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);