From: Dave Airlie Date: Wed, 7 Jan 2009 01:54:57 +0000 (+1000) Subject: drm: fix ordering of driver unload vs agp unload. X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=a75f28419a7efff611a81293d41d0e2137d7591e;p=openwrt%2Fstaging%2Fblogic.git drm: fix ordering of driver unload vs agp unload. For KMS drivers, we really need to cleanup the driver before disabling the AGP subsystem. Signed-off-by: Dave Airlie --- diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c index febb517ee679..5ff88d952226 100644 --- a/drivers/gpu/drm/drm_drv.c +++ b/drivers/gpu/drm/drm_drv.c @@ -314,14 +314,14 @@ static void drm_cleanup(struct drm_device * dev) DRM_DEBUG("mtrr_del=%d\n", retval); } + if (dev->driver->unload) + dev->driver->unload(dev); + if (drm_core_has_AGP(dev) && dev->agp) { drm_free(dev->agp, sizeof(*dev->agp), DRM_MEM_AGPLISTS); dev->agp = NULL; } - if (dev->driver->unload) - dev->driver->unload(dev); - drm_ht_remove(&dev->map_hash); drm_ctxbitmap_cleanup(dev);