i915: Only clean up page flipping when the last client goes away, not any one.
authorMichel Dänzer <michel@tungstengraphics.com>
Wed, 28 Feb 2007 14:57:08 +0000 (15:57 +0100)
committerMichel Dänzer <michel@tungstengraphics.com>
Wed, 28 Feb 2007 14:57:08 +0000 (15:57 +0100)
shared-core/i915_dma.c

index 7078ec9..282d4b8 100644 (file)
@@ -915,6 +915,7 @@ void i915_driver_lastclose(drm_device_t * dev)
 {
        if (dev->dev_private) {
                drm_i915_private_t *dev_priv = dev->dev_private;
+               i915_do_cleanup_pageflip(dev);
                i915_mem_takedown(&(dev_priv->agp_heap));
        }
        i915_dma_cleanup(dev);
@@ -924,7 +925,6 @@ void i915_driver_preclose(drm_device_t * dev, DRMFILE filp)
 {
        if (dev->dev_private) {
                drm_i915_private_t *dev_priv = dev->dev_private;
-               i915_do_cleanup_pageflip(dev);
                i915_mem_release(dev, filp, dev_priv->agp_heap);
        }
 }