From: hjc Date: Thu, 25 Dec 2014 05:59:21 +0000 (+0800) Subject: rk3368 lcdc: fix crash when close display X-Git-Tag: firefly_0821_release~4158^2~482 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=c3ec2077f4ef4966309966084ed05184c762b60e;p=firefly-linux-kernel-4.4.55.git rk3368 lcdc: fix crash when close display Signed-off-by: hjc --- diff --git a/drivers/video/rockchip/lcdc/rk3368_lcdc.c b/drivers/video/rockchip/lcdc/rk3368_lcdc.c index 305fef7bf24d..30a4289fc07f 100644 --- a/drivers/video/rockchip/lcdc/rk3368_lcdc.c +++ b/drivers/video/rockchip/lcdc/rk3368_lcdc.c @@ -435,7 +435,8 @@ static int rk3368_lcdc_pre_init(struct rk_lcdc_driver *dev_drv) return 0; } -static void rk3368_lcdc_deint(struct lcdc_device *lcdc_dev) +static void __maybe_unused + rk3368_lcdc_deint(struct lcdc_device *lcdc_dev) { rk3368_lcdc_disable_irq(lcdc_dev); spin_lock(&lcdc_dev->reg_lock); @@ -4369,8 +4370,12 @@ static void rk3368_lcdc_shutdown(struct platform_device *pdev) { struct lcdc_device *lcdc_dev = platform_get_drvdata(pdev); - rk3368_lcdc_deint(lcdc_dev); - rk_disp_pwr_disable(&lcdc_dev->driver); + if (0) {/*maybe lead to crash*/ + rk3368_lcdc_deint(lcdc_dev); + rk_disp_pwr_disable(&lcdc_dev->driver); + } else { + rk3368_lcdc_early_suspend(&lcdc_dev->driver); + } } #if defined(CONFIG_OF)