From 79e4424fbe83a4f2170f3cfa4628d5a34c520d37 Mon Sep 17 00:00:00 2001 From: Tomi Valkeinen Date: Thu, 23 Jun 2011 16:36:36 +0300 Subject: [PATCH] OMAP: DSS2: PicoDLP: fix error handling in power_on Fix two problems in PicoDLP driver's error handling on picodlp_panel_power_on: - If omapdss_dpi_display_enable() failed, the its error value was not returned - If picodlp_i2c_init() failed, dssdev->state was erroneously set to OMAP_DSS_DISPLAY_ACTIVE Signed-off-by: Tomi Valkeinen --- drivers/video/omap2/displays/panel-picodlp.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/video/omap2/displays/panel-picodlp.c b/drivers/video/omap2/displays/panel-picodlp.c index b663e60e1a11..f0a51f49e48c 100644 --- a/drivers/video/omap2/displays/panel-picodlp.c +++ b/drivers/video/omap2/displays/panel-picodlp.c @@ -370,16 +370,18 @@ static int picodlp_panel_power_on(struct omap_dss_device *dssdev) * then only i2c commands can be successfully sent to dpp2600 */ msleep(1000); - if (omapdss_dpi_display_enable(dssdev)) { + r = omapdss_dpi_display_enable(dssdev); + if (r) { dev_err(&dssdev->dev, "failed to enable DPI\n"); goto err1; } - dssdev->state = OMAP_DSS_DISPLAY_ACTIVE; r = picodlp_i2c_init(picod->picodlp_i2c_client); if (r) goto err; + dssdev->state = OMAP_DSS_DISPLAY_ACTIVE; + return r; err: omapdss_dpi_display_disable(dssdev); -- 2.39.2