diff options
-rw-r--r-- | drivers/video/omap2/dss/apply.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/drivers/video/omap2/dss/apply.c b/drivers/video/omap2/dss/apply.c index 53629dd0291b..385b6df9925d 100644 --- a/drivers/video/omap2/dss/apply.c +++ b/drivers/video/omap2/dss/apply.c | |||
@@ -1314,21 +1314,19 @@ void dss_mgr_set_timings(struct omap_overlay_manager *mgr, | |||
1314 | const struct omap_video_timings *timings) | 1314 | const struct omap_video_timings *timings) |
1315 | { | 1315 | { |
1316 | unsigned long flags; | 1316 | unsigned long flags; |
1317 | 1317 | struct mgr_priv_data *mp = get_mgr_priv(mgr); | |
1318 | mutex_lock(&apply_lock); | ||
1319 | 1318 | ||
1320 | spin_lock_irqsave(&data_lock, flags); | 1319 | spin_lock_irqsave(&data_lock, flags); |
1321 | 1320 | ||
1322 | dss_apply_mgr_timings(mgr, timings); | 1321 | if (mp->updating) { |
1323 | 1322 | DSSERR("cannot set timings for %s: manager needs to be disabled\n", | |
1324 | dss_write_regs(); | 1323 | mgr->name); |
1325 | dss_set_go_bits(); | 1324 | goto out; |
1325 | } | ||
1326 | 1326 | ||
1327 | dss_apply_mgr_timings(mgr, timings); | ||
1328 | out: | ||
1327 | spin_unlock_irqrestore(&data_lock, flags); | 1329 | spin_unlock_irqrestore(&data_lock, flags); |
1328 | |||
1329 | wait_pending_extra_info_updates(); | ||
1330 | |||
1331 | mutex_unlock(&apply_lock); | ||
1332 | } | 1330 | } |
1333 | 1331 | ||
1334 | static void dss_apply_mgr_lcd_config(struct omap_overlay_manager *mgr, | 1332 | static void dss_apply_mgr_lcd_config(struct omap_overlay_manager *mgr, |