diff options
author | Robert Noland <rnoland@2hip.net> | 2009-03-31 13:33:18 -0500 |
---|---|---|
committer | Robert Noland <rnoland@2hip.net> | 2009-03-31 13:36:04 -0500 |
commit | 51d6346f9f3c425f49e57d185530c6bcaeb94f5e (patch) | |
tree | 58aabcf71a7ba600b88d71fb62868b749b80e8e8 | |
parent | cd5c66c659168cbe2e3229ebf8be79f764ed0ee1 (diff) |
Move drm_vblank_cleanup() after lastclose.
This may prevent a possible panic on shutdown.
-rw-r--r-- | bsd-core/drm_drv.c | 4 | ||||
-rw-r--r-- | linux-core/drm_drv.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/bsd-core/drm_drv.c b/bsd-core/drm_drv.c index a9165a4a..ce683a66 100644 --- a/bsd-core/drm_drv.c +++ b/bsd-core/drm_drv.c @@ -524,12 +524,12 @@ static void drm_unload(struct drm_device *dev) DRM_DEBUG("mtrr_del = %d", retcode); } - drm_vblank_cleanup(dev); - DRM_LOCK(); drm_lastclose(dev); DRM_UNLOCK(); + drm_vblank_cleanup(dev); + /* Clean up PCI resources allocated by drm_bufs.c. We're not really * worried about resource consumption while the DRM is inactive (between * lastclose and firstopen or unload) because these aren't actually diff --git a/linux-core/drm_drv.c b/linux-core/drm_drv.c index c68e237c..72f0e98b 100644 --- a/linux-core/drm_drv.c +++ b/linux-core/drm_drv.c @@ -397,11 +397,11 @@ static void drm_cleanup(struct drm_device * dev) return; } - drm_vblank_cleanup(dev); - drm_lastclose(dev); drm_fence_manager_takedown(dev); + drm_vblank_cleanup(dev); + if (drm_core_has_MTRR(dev) && drm_core_has_AGP(dev) && dev->agp && dev->agp->agp_mtrr >= 0) { int retval; |