diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2014-06-16 03:04:22 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2014-06-16 03:04:22 -0700 |
| commit | a950f97a2fd8369becab00ff27f9eb8b11fed84c (patch) | |
| tree | 237d561d8581b26e0ad6c3d68bdf604b4c825070 | |
| parent | 0ae2b77d64ebf04d8998b956d014c502730eff42 (diff) | |
| parent | dcb6735fa6db7ec9988af9bdc847c59a79f4d757 (diff) | |
Merge "msm: mdss: Avoid mutex lockup in dynamic switching"
| -rw-r--r-- | drivers/video/msm/mdss/mdss_fb.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/video/msm/mdss/mdss_fb.c b/drivers/video/msm/mdss/mdss_fb.c index 1e38d2d044d..1b163df3b91 100644 --- a/drivers/video/msm/mdss/mdss_fb.c +++ b/drivers/video/msm/mdss/mdss_fb.c @@ -482,6 +482,7 @@ static int mdss_fb_lpm_enable(struct msm_fb_data_type *mfd, int mode) mutex_lock(&mfd->bl_lock); bl_lvl = mfd->bl_level; mdss_fb_set_backlight(mfd, 0); + mutex_unlock(&mfd->bl_lock); lock_fb_info(mfd->fbi); ret = mdss_fb_blank_sub(FB_BLANK_POWERDOWN, mfd->fbi, @@ -489,7 +490,6 @@ static int mdss_fb_lpm_enable(struct msm_fb_data_type *mfd, int mode) if (ret) { pr_err("can't turn off display!\n"); unlock_fb_info(mfd->fbi); - mutex_unlock(&mfd->bl_lock); return ret; } @@ -505,11 +505,11 @@ static int mdss_fb_lpm_enable(struct msm_fb_data_type *mfd, int mode) if (ret) { pr_err("can't turn on display!\n"); unlock_fb_info(mfd->fbi); - mutex_unlock(&mfd->bl_lock); return ret; } unlock_fb_info(mfd->fbi); + mutex_lock(&mfd->bl_lock); mfd->bl_updated = true; mdss_fb_set_backlight(mfd, bl_lvl); mutex_unlock(&mfd->bl_lock); |
