diff options
| author | Carl Vanderlip <carlv@codeaurora.org> | 2013-09-10 17:36:38 -0700 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 20:21:26 -0700 |
| commit | 508a149b149b27262165d83c86df4ccdcb54fe94 (patch) | |
| tree | 7d42504aaa8704ab47fc4d0daf7e9c8aa16ccdfb /drivers/video/fbdev | |
| parent | 2957d2038e1fd7a162d949e9b7cf003ecc4586f0 (diff) | |
msm: mdss: Store AD backlight notification function
Store Assertive Display backlight notification function while locked to
prevent race condition where AD is disabled while lock is released,
setting function pointer to NULL.
Change-Id: I7996a29595854ed8e50d0fff663a779c3ccd388f
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
Diffstat (limited to 'drivers/video/fbdev')
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_fb.c | 4 | ||||
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_mdp_pp.c | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/drivers/video/fbdev/msm/mdss_fb.c b/drivers/video/fbdev/msm/mdss_fb.c index b0537ba9a89d..3504d9c8c770 100644 --- a/drivers/video/fbdev/msm/mdss_fb.c +++ b/drivers/video/fbdev/msm/mdss_fb.c @@ -627,6 +627,7 @@ static void mdss_fb_scale_bl(struct msm_fb_data_type *mfd, u32 *bl_lvl) void mdss_fb_set_backlight(struct msm_fb_data_type *mfd, u32 bkl_lvl) { struct mdss_panel_data *pdata; + int (*update_ad_input)(struct msm_fb_data_type *mfd); u32 temp = bkl_lvl; if (((!mfd->panel_power_on && mfd->dcm_state != DCM_ENTER) @@ -659,9 +660,10 @@ void mdss_fb_set_backlight(struct msm_fb_data_type *mfd, u32 bkl_lvl) mfd->bl_level_old = temp; if (mfd->mdp.update_ad_input) { + update_ad_input = mfd->mdp.update_ad_input; mutex_unlock(&mfd->bl_lock); /* Will trigger ad_setup which will grab bl_lock */ - mfd->mdp.update_ad_input(mfd); + update_ad_input(mfd); mutex_lock(&mfd->bl_lock); } } diff --git a/drivers/video/fbdev/msm/mdss_mdp_pp.c b/drivers/video/fbdev/msm/mdss_mdp_pp.c index 424f84f1ca11..09a3c554cfe8 100644 --- a/drivers/video/fbdev/msm/mdss_mdp_pp.c +++ b/drivers/video/fbdev/msm/mdss_mdp_pp.c @@ -2859,7 +2859,7 @@ static int mdss_ad_init_checks(struct msm_fb_data_type *mfd) return -EHOSTDOWN; } if (mixer_num > MDSS_AD_MAX_MIXERS) { - pr_warn("too many mixers, not supported, %d", mixer_num); + pr_debug("too many mixers, not supported, %d", mixer_num); return ret; } |
