aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/omap2/dss/manager.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/video/omap2/dss/manager.c b/drivers/video/omap2/dss/manager.c
index 9e1fbe531bf0..7e1ec5af6c70 100644
--- a/drivers/video/omap2/dss/manager.c
+++ b/drivers/video/omap2/dss/manager.c
@@ -525,7 +525,7 @@ static int dss_mgr_wait_for_go(struct omap_overlay_manager *mgr)
525 int i; 525 int i;
526 struct omap_dss_device *dssdev = mgr->device; 526 struct omap_dss_device *dssdev = mgr->device;
527 527
528 if (!dssdev) 528 if (!dssdev || dssdev->state != OMAP_DSS_DISPLAY_ACTIVE)
529 return 0; 529 return 0;
530 530
531 if (dssdev->type == OMAP_DISPLAY_TYPE_VENC) { 531 if (dssdev->type == OMAP_DISPLAY_TYPE_VENC) {
@@ -596,11 +596,14 @@ int dss_mgr_wait_for_go_ovl(struct omap_overlay *ovl)
596 int r; 596 int r;
597 int i; 597 int i;
598 598
599 if (!ovl->manager || !ovl->manager->device) 599 if (!ovl->manager)
600 return 0; 600 return 0;
601 601
602 dssdev = ovl->manager->device; 602 dssdev = ovl->manager->device;
603 603
604 if (!dssdev || dssdev->state != OMAP_DSS_DISPLAY_ACTIVE)
605 return 0;
606
604 if (dssdev->type == OMAP_DISPLAY_TYPE_VENC) { 607 if (dssdev->type == OMAP_DISPLAY_TYPE_VENC) {
605 irq = DISPC_IRQ_EVSYNC_ODD | DISPC_IRQ_EVSYNC_EVEN; 608 irq = DISPC_IRQ_EVSYNC_ODD | DISPC_IRQ_EVSYNC_EVEN;
606 channel = OMAP_DSS_CHANNEL_DIGIT; 609 channel = OMAP_DSS_CHANNEL_DIGIT;