OSDN Git Service

Move drm_vblank_cleanup() after lastclose.
authorRobert Noland <rnoland@2hip.net>
Tue, 31 Mar 2009 18:33:18 +0000 (13:33 -0500)
committerRobert Noland <rnoland@2hip.net>
Tue, 31 Mar 2009 18:36:04 +0000 (13:36 -0500)
This may prevent a possible panic on shutdown.

bsd-core/drm_drv.c
linux-core/drm_drv.c

index a9165a4..ce683a6 100644 (file)
@@ -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
index c68e237..72f0e98 100644 (file)
@@ -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;