From 58971eccdd920c64f01ac135ac5a43a14c0dc843 Mon Sep 17 00:00:00 2001 From: Wayne Zou Date: Mon, 27 Feb 2012 09:31:18 +0800 Subject: [PATCH] ENGR00175446 ldb: avoid NULL pointer when ldb driver is probed but not inited. ldb: avoid NULL pointer when ldb driver is probed but not inited. It can lead to kernel crash when framebuffer on LVDS panel is not inited. Signed-off-by: Wayne Zou --- drivers/video/mxc/ldb.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/video/mxc/ldb.c b/drivers/video/mxc/ldb.c index 6172c0fa0775..dacb9b4bac34 100644 --- a/drivers/video/mxc/ldb.c +++ b/drivers/video/mxc/ldb.c @@ -728,6 +728,8 @@ static int ldb_suspend(struct platform_device *pdev, pm_message_t state) struct ldb_data *ldb = dev_get_drvdata(&pdev->dev); uint32_t data; + if (!ldb->inited) + return 0; data = readl(ldb->control_reg); ldb->control_reg_data = data; data &= ~(LDB_CH0_MODE_MASK | LDB_CH1_MODE_MASK); @@ -740,6 +742,8 @@ static int ldb_resume(struct platform_device *pdev) { struct ldb_data *ldb = dev_get_drvdata(&pdev->dev); + if (!ldb->inited) + return 0; writel(ldb->control_reg_data, ldb->control_reg); return 0; @@ -778,6 +782,8 @@ static int ldb_remove(struct platform_device *pdev) { struct ldb_data *ldb = dev_get_drvdata(&pdev->dev); + if (!ldb->inited) + return 0; mxc_dispdrv_puthandle(ldb->disp_ldb); mxc_dispdrv_unregister(ldb->disp_ldb); kfree(ldb); -- 2.39.2