[PATCH] drm: Don't set the plane->fb to NULL on successfull set_plane
Daniel Vetter
daniel.vetter at ffwll.ch
Fri Feb 15 12:21:37 PST 2013
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 at ffwll.ch>
Date: Tue Dec 11 00:59:24 2012 +0100
drm: refcounting for sprite framebuffers
Reported-by: Jesse Barnes <jbarnes at virtuousgeek.org>
Cc: Jesse Barnes <jbarnes at virtuousgeek.org>
Cc: Rob Clark <rob at ti.com>
Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
---
drivers/gpu/drm/drm_crtc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index 826a5ca..1960418 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -1982,9 +1982,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);
--
1.7.10.4
More information about the dri-devel
mailing list