Loading drivers/video/msm/mdss/mdss_fb.c +17 −0 Original line number Diff line number Diff line Loading @@ -1205,6 +1205,8 @@ static int mdss_fb_release_all(struct fb_info *info, bool release_all) struct mdss_fb_proc_info *pinfo = NULL, *temp_pinfo = NULL; int ret = 0; int pid = current->tgid; bool unknown_pid = true; struct task_struct *task; if (!mfd->ref_cnt) { pr_info("try to close unopened fb %d!\n", mfd->index); Loading @@ -1219,6 +1221,7 @@ static int mdss_fb_release_all(struct fb_info *info, bool release_all) if (!release_all && (pinfo->pid != pid)) continue; unknown_pid = false; pr_debug("found process entry pid=%d ref=%d\n", pinfo->pid, pinfo->ref_cnt); Loading @@ -1244,6 +1247,20 @@ static int mdss_fb_release_all(struct fb_info *info, bool release_all) } } if (unknown_pid) { task = current->group_leader; pr_debug("unknown process %s pid=%d mfd->ref_cnt=%d\n", task->comm, pid, mfd->ref_cnt); mfd->ref_cnt--; if (mfd->mdp.release_fnc) { ret = mfd->mdp.release_fnc(mfd); if (ret) pr_err("error releasing fb%d pid=%d\n", mfd->index, pinfo->pid); } } if (!mfd->ref_cnt) { ret = mdss_fb_blank_sub(FB_BLANK_POWERDOWN, info, mfd->op_enable); Loading Loading
drivers/video/msm/mdss/mdss_fb.c +17 −0 Original line number Diff line number Diff line Loading @@ -1205,6 +1205,8 @@ static int mdss_fb_release_all(struct fb_info *info, bool release_all) struct mdss_fb_proc_info *pinfo = NULL, *temp_pinfo = NULL; int ret = 0; int pid = current->tgid; bool unknown_pid = true; struct task_struct *task; if (!mfd->ref_cnt) { pr_info("try to close unopened fb %d!\n", mfd->index); Loading @@ -1219,6 +1221,7 @@ static int mdss_fb_release_all(struct fb_info *info, bool release_all) if (!release_all && (pinfo->pid != pid)) continue; unknown_pid = false; pr_debug("found process entry pid=%d ref=%d\n", pinfo->pid, pinfo->ref_cnt); Loading @@ -1244,6 +1247,20 @@ static int mdss_fb_release_all(struct fb_info *info, bool release_all) } } if (unknown_pid) { task = current->group_leader; pr_debug("unknown process %s pid=%d mfd->ref_cnt=%d\n", task->comm, pid, mfd->ref_cnt); mfd->ref_cnt--; if (mfd->mdp.release_fnc) { ret = mfd->mdp.release_fnc(mfd); if (ret) pr_err("error releasing fb%d pid=%d\n", mfd->index, pinfo->pid); } } if (!mfd->ref_cnt) { ret = mdss_fb_blank_sub(FB_BLANK_POWERDOWN, info, mfd->op_enable); Loading