From 7e3613eb9d9b96073b62b52e78140dd482a87eee Mon Sep 17 00:00:00 2001 From: "Sravan Kumar D.V.N" Date: Wed, 25 Jan 2017 16:43:00 +0530 Subject: [PATCH] msm: mdss: Do not apply bl scale if current back light is zero Calling mdss_fb_set_backlight when current back light zero to update bl scale will reset the unset_bl_level to zero. This affects ESD recovery as unset_bl_level is not updated on recovery path. Hence avoiding calling mdss_fb_set_backlight through mdss_bl_scale_config when current backlight is zero. CRs-Fixed: 1115920 Change-Id: I4e3297604a4585233c075f9ca08a6f8f527b0438 Signed-off-by: Sravan Kumar D.V.N --- drivers/video/fbdev/msm/mdss_mdp_overlay.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/video/fbdev/msm/mdss_mdp_overlay.c b/drivers/video/fbdev/msm/mdss_mdp_overlay.c index c6fc10833d7f..5c528bf06384 100644 --- a/drivers/video/fbdev/msm/mdss_mdp_overlay.c +++ b/drivers/video/fbdev/msm/mdss_mdp_overlay.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2012-2016, The Linux Foundation. All rights reserved. +/* Copyright (c) 2012-2017, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -4459,8 +4459,10 @@ static int mdss_bl_scale_config(struct msm_fb_data_type *mfd, mfd->bl_scale = data->scale; pr_debug("update scale = %d\n", mfd->bl_scale); - /* update current backlight to use new scaling*/ - mdss_fb_set_backlight(mfd, curr_bl); + /* Update current backlight to use new scaling, if it is not zero */ + if (curr_bl) + mdss_fb_set_backlight(mfd, curr_bl); + mutex_unlock(&mfd->bl_lock); return ret; }