commit: 3184009c36da413724f283e3c7ac9cc60c623bc4
From: Chris Wilson <[email protected]>
Date: Mon, 17 Sep 2012 09:38:03 +0000
Subject: drm: Destroy the planes prior to destroying the associated CRTC

As during the plane cleanup, we wish to disable the hardware and
so may modify state on the associated CRTC, that CRTC must continue to
exist until we are finished.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54101
Signed-off-by: Chris Wilson <[email protected]>
Cc: Jesse Barnes <[email protected]>
Cc: [email protected]
Reviewed-by: Jesse Barnes <[email protected]>
Tested-by: lu hua <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
---
 drivers/gpu/drm/drm_crtc.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index c317f72..c418c77 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -1034,15 +1034,15 @@ void drm_mode_config_cleanup(struct drm_device *dev)
                fb->funcs->destroy(fb);
        }
 
-       list_for_each_entry_safe(crtc, ct, &dev->mode_config.crtc_list, head) {
-               crtc->funcs->destroy(crtc);
-       }
-
        list_for_each_entry_safe(plane, plt, &dev->mode_config.plane_list,
                                 head) {
                plane->funcs->destroy(plane);
        }
 
+       list_for_each_entry_safe(crtc, ct, &dev->mode_config.crtc_list, head) {
+               crtc->funcs->destroy(crtc);
+       }
+
        idr_remove_all(&dev->mode_config.crtc_idr);
        idr_destroy(&dev->mode_config.crtc_idr);
 }
-- 
1.7.3.4
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to