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 <tomi.valkeinen@ti.com>
* 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);