diff options
Diffstat (limited to 'drivers/video/omap2')
-rw-r--r-- | drivers/video/omap2/dss/manager.c | 7 |
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; |