Index: shared-core/mga_dma.c =================================================================== RCS file: /cvs/dri/drm/shared-core/mga_dma.c,v retrieving revision 1.22 diff -u -d -r1.22 mga_dma.c --- shared-core/mga_dma.c 21 May 2005 02:27:51 -0000 1.22 +++ shared-core/mga_dma.c 2 Jun 2005 21:29:30 -0000 @@ -572,10 +572,6 @@ if (dev_priv->head != NULL) { mga_freelist_cleanup(dev); } - - drm_free(dev->dev_private, sizeof(drm_mga_private_t), - DRM_MEM_DRIVER); - dev->dev_private = NULL; } return 0; @@ -723,7 +719,17 @@ int mga_driver_postcleanup(drm_device_t * dev) { - return mga_do_cleanup_dma(dev); + int err; + + + err = mga_do_cleanup_dma(dev); + if (!err) { + drm_free(dev->dev_private, sizeof(drm_mga_private_t), + DRM_MEM_DRIVER); + dev->dev_private = NULL; + } + + return err; } int mga_driver_dma_quiescent(drm_device_t * dev)