summaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorRob Clark <rob@ti.com>2011-12-13 20:19:35 -0600
committerDave Airlie <airlied@redhat.com>2012-01-05 09:24:39 +0000
commita9971157b6c550644fe19551c21f4b05f7e9475a (patch)
tree8922994230f923f68ad1590576365b997179f25d /drivers/gpu
parentd8e70a254d8f2da141006e496a51502b79115e80 (diff)
downloadlinux-stable-a9971157b6c550644fe19551c21f4b05f7e9475a.tar.gz
linux-stable-a9971157b6c550644fe19551c21f4b05f7e9475a.tar.bz2
linux-stable-a9971157b6c550644fe19551c21f4b05f7e9475a.zip
drm: disconnect plane from fb/crtc when disabled
Since plane->fb and plane->crtc are set in drm_mode_setplane() after update_plane(), They should be cleared after disable(). Signed-off-by: Rob Clark <rob@ti.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/drm_crtc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index f259a2563204..7710bcb4bd8d 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -348,6 +348,9 @@ void drm_framebuffer_cleanup(struct drm_framebuffer *fb)
ret = plane->funcs->disable_plane(plane);
if (ret)
DRM_ERROR("failed to disable plane with busy fb\n");
+ /* disconnect the plane from the fb and crtc: */
+ plane->fb = NULL;
+ plane->crtc = NULL;
}
}