msm: mdss: Add missing BL lock around BL-related info
The bl_updated variable requires the BL lock. Otherwise, it can be corrupted and cause backlight issues. Change-Id: I55eb4b8d525765ede4f27a404f5c3f1f0b446719 Signed-off-by: Benet Clark <benetc@codeaurora.org>
This commit is contained in:
parent
cb25aa9770
commit
c02df0f77f
2 changed files with 5 additions and 3 deletions
|
@ -977,17 +977,17 @@ void mdss_fb_update_backlight(struct msm_fb_data_type *mfd)
|
|||
{
|
||||
struct mdss_panel_data *pdata;
|
||||
|
||||
mutex_lock(&mfd->bl_lock);
|
||||
if (mfd->unset_bl_level && !mfd->bl_updated) {
|
||||
pdata = dev_get_platdata(&mfd->pdev->dev);
|
||||
if ((pdata) && (pdata->set_backlight)) {
|
||||
mutex_lock(&mfd->bl_lock);
|
||||
mfd->bl_level = mfd->unset_bl_level;
|
||||
pdata->set_backlight(pdata, mfd->bl_level);
|
||||
mfd->bl_level_old = mfd->unset_bl_level;
|
||||
mutex_unlock(&mfd->bl_lock);
|
||||
mfd->bl_updated = 1;
|
||||
}
|
||||
}
|
||||
mutex_unlock(&mfd->bl_lock);
|
||||
}
|
||||
|
||||
static int mdss_fb_blank_sub(int blank_mode, struct fb_info *info,
|
||||
|
@ -1042,7 +1042,9 @@ static int mdss_fb_blank_sub(int blank_mode, struct fb_info *info,
|
|||
mfd->op_enable = false;
|
||||
curr_pwr_state = mfd->panel_power_on;
|
||||
mfd->panel_power_on = false;
|
||||
mutex_lock(&mfd->bl_lock);
|
||||
mfd->bl_updated = 0;
|
||||
mutex_unlock(&mfd->bl_lock);
|
||||
|
||||
ret = mfd->mdp.off_fnc(mfd);
|
||||
if (ret)
|
||||
|
|
|
@ -511,8 +511,8 @@ static int mdss_mdp_splash_thread(void *data)
|
|||
}
|
||||
unlock_fb_info(mfd->fbi);
|
||||
|
||||
mfd->bl_updated = true;
|
||||
mutex_lock(&mfd->bl_lock);
|
||||
mfd->bl_updated = true;
|
||||
mdss_fb_set_backlight(mfd, mfd->panel_info->bl_max >> 1);
|
||||
mutex_unlock(&mfd->bl_lock);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue