diff --git a/drivers/video/omap2/dss/apply.c b/drivers/video/omap2/dss/apply.c index c38c015d60e2..ef13fd65fcc1 100644 --- a/drivers/video/omap2/dss/apply.c +++ b/drivers/video/omap2/dss/apply.c @@ -1025,16 +1025,14 @@ int dss_mgr_enable(struct omap_overlay_manager *mgr) spin_lock_irqsave(&data_lock, flags); mp->enabled = true; + r = dss_check_settings(mgr, mgr->device); - mp->enabled = false; if (r) { DSSERR("failed to enable manager %d: check_settings failed\n", mgr->id); goto err; } - mp->enabled = true; - dss_mgr_setup_fifos(mgr); dss_write_regs(); @@ -1054,6 +1052,7 @@ out: return 0; err: + mp->enabled = false; spin_unlock_irqrestore(&data_lock, flags); mutex_unlock(&apply_lock); return r;