summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2013-02-15 20:21:37 +0000
committerRob Clark <robdclark@gmail.com>2013-02-17 17:55:31 -0500
commit6e488c00457dad0d433af7f937211fba8d76fd04 (patch)
treeee4d6b5274e128ef121928f3f4a76767a9f43942
parent50fdaae79abbfc4f04b5380ac5abf00fd448c5a5 (diff)
downloadop-kernel-dev-6e488c00457dad0d433af7f937211fba8d76fd04.zip
op-kernel-dev-6e488c00457dad0d433af7f937211fba8d76fd04.tar.gz
drm: Don't set the plane->fb to NULL on successfull set_plane
We need to clear the local variable to get the refcounting right (since the reference drm_mode_setplane holds is transferred to the plane->fb pointer). But should be done _after_ we update the pointer. Breakage introduced in commit 6c2a75325c800de286166c693e0cd33c3a1c5ec8 Author: Daniel Vetter <daniel.vetter@ffwll.ch> Date: Tue Dec 11 00:59:24 2012 +0100 drm: refcounting for sprite framebuffers Reported-by: Jesse Barnes <jbarnes@virtuousgeek.org> Cc: Jesse Barnes <jbarnes@virtuousgeek.org> Cc: Rob Clark <rob@ti.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
-rw-r--r--drivers/gpu/drm/drm_crtc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index f170773..e7471b0 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -1996,9 +1996,9 @@ int drm_mode_setplane(struct drm_device *dev, void *data,
plane_req->src_w, plane_req->src_h);
if (!ret) {
old_fb = plane->fb;
- fb = NULL;
plane->crtc = crtc;
plane->fb = fb;
+ fb = NULL;
}
drm_modeset_unlock_all(dev);
OpenPOWER on IntegriCloud