summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArchit Taneja <archit@ti.com>2014-04-11 09:23:34 +0200
committerTomi Valkeinen <tomi.valkeinen@ti.com>2014-04-15 12:35:28 +0200
commitbc905aced30e48a39af7c452bf46228d7c6188b9 (patch)
tree46b7509e1966d998b1898c52ee8f921801140e40
parentdrm/omap: Fix crash when using LCD3 overlay manager (diff)
downloadlinux-bc905aced30e48a39af7c452bf46228d7c6188b9.tar.xz
linux-bc905aced30e48a39af7c452bf46228d7c6188b9.zip
drm/omap: Use old_fb to synchronize between successive page flips
omap_crtc->old_fb is used to check whether the previous page flip has completed or not. However, it's never initialized to anything, so it's always NULL. This results in the check to always succeed, and the page_flip to proceed. Initialize old_fb to the fb that we intend to flip to through page_flip, and therefore prevent a future page flip to proceed if the last one didn't complete. Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
-rw-r--r--drivers/gpu/drm/omapdrm/omap_crtc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c b/drivers/gpu/drm/omapdrm/omap_crtc.c
index 46f8e1e40e88..00798247190b 100644
--- a/drivers/gpu/drm/omapdrm/omap_crtc.c
+++ b/drivers/gpu/drm/omapdrm/omap_crtc.c
@@ -360,7 +360,7 @@ static int omap_crtc_page_flip_locked(struct drm_crtc *crtc,
}
omap_crtc->event = event;
- primary->fb = fb;
+ omap_crtc->old_fb = primary->fb = fb;
/*
* Hold a reference temporarily until the crtc is updated