aboutsummaryrefslogtreecommitdiff
path: root/linux-core/drm_drv.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2008-08-06 15:57:38 +1000
committerDave Airlie <airlied@redhat.com>2008-08-06 15:57:38 +1000
commita6c075fca6faf83ccbfa38fb27dc4f743b6cdd61 (patch)
tree3e416039855e2ee9b29e07320a28cfa68565477b /linux-core/drm_drv.c
parent04b5584c62fa3311e717692e261870276cbd6350 (diff)
drm: don't teardown things in modeset paths
Diffstat (limited to 'linux-core/drm_drv.c')
-rw-r--r--linux-core/drm_drv.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/linux-core/drm_drv.c b/linux-core/drm_drv.c
index c503d484..2a6bebd7 100644
--- a/linux-core/drm_drv.c
+++ b/linux-core/drm_drv.c
@@ -182,8 +182,8 @@ int drm_lastclose(struct drm_device * dev)
if (!drm_core_check_feature(dev, DRIVER_MODESET))
drm_bo_driver_finish(dev);
-/* if (dev->irq_enabled)
- drm_irq_uninstall(dev); */
+ if (dev->irq_enabled && !drm_core_check_feature(dev, DRIVER_MODESET))
+ drm_irq_uninstall(dev);
/* Free drawable information memory */
mutex_lock(&dev->struct_mutex);
@@ -192,7 +192,7 @@ int drm_lastclose(struct drm_device * dev)
del_timer(&dev->timer);
/* Clear AGP information */
- if (drm_core_has_AGP(dev) && dev->agp) {
+ if (drm_core_has_AGP(dev) && dev->agp && !drm_core_check_feature(dev, DRIVER_MODESET)) {
struct drm_agp_mem *entry, *tempe;
/* Remove AGP resources, but leave dev->agp