diff options
| author | Adrian Salido-Moreno <adrianm@codeaurora.org> | 2014-11-26 09:49:01 -0800 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 20:36:28 -0700 |
| commit | cf62347f51331000c986e18d87155d9903ea163a (patch) | |
| tree | 71835ab3fb7912cd8039c7d647220de74bc15b29 /drivers/video/fbdev | |
| parent | ad16d856d5d5014b71d4444892a070d7136a7872 (diff) | |
msm: mdss: free ion memory after panel is blanked
Frame buffer memory could still be fetched until panel is completely
blanked, in order to avoid potential page faults by unmapping early,
move unmapping of this memory until after panel is blanked.
CRs-Fixed: 763046
Change-Id: Ib7eea73a7549b453cf2fc31a31f5cc3e9e1cce39
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
Diffstat (limited to 'drivers/video/fbdev')
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_fb.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/video/fbdev/msm/mdss_fb.c b/drivers/video/fbdev/msm/mdss_fb.c index cb89ec2ede22..9f24cac44921 100644 --- a/drivers/video/fbdev/msm/mdss_fb.c +++ b/drivers/video/fbdev/msm/mdss_fb.c @@ -2305,9 +2305,6 @@ static int mdss_fb_release_all(struct fb_info *info, bool release_all) if (mfd->mdp.release_fnc) mfd->mdp.release_fnc(mfd, true, pid); - if (mfd->fb_ion_handle) - mdss_fb_free_fb_ion_memory(mfd); - ret = mdss_fb_blank_sub(FB_BLANK_POWERDOWN, info, mfd->op_enable); if (ret) { @@ -2315,6 +2312,9 @@ static int mdss_fb_release_all(struct fb_info *info, bool release_all) mfd->index, ret, task->comm, current->tgid, pid); return ret; } + if (mfd->fb_ion_handle) + mdss_fb_free_fb_ion_memory(mfd); + atomic_set(&mfd->ioctl_ref_cnt, 0); } else if (release_needed) { pr_debug("current process=%s pid=%d known pid=%d mfd->ref=%d\n", |
