summaryrefslogtreecommitdiff
path: root/linux-core/drm_drv.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2008-08-04 14:54:32 +1000
committerDave Airlie <airlied@redhat.com>2008-08-04 14:54:32 +1000
commit717dd804d0d1d9984345a998b28ee47079c70639 (patch)
treed1c0f9c6f267ef42215ed42c23d8c0afc0948e17 /linux-core/drm_drv.c
parentaf6efc3d778b96164849f822331938c4cdf8f4b2 (diff)
drm: fixup master code to use krefs
Diffstat (limited to 'linux-core/drm_drv.c')
-rw-r--r--linux-core/drm_drv.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/linux-core/drm_drv.c b/linux-core/drm_drv.c
index c3cc620a..751322db 100644
--- a/linux-core/drm_drv.c
+++ b/linux-core/drm_drv.c
@@ -191,11 +191,6 @@ int drm_lastclose(struct drm_device * dev)
drm_drawable_free_all(dev);
del_timer(&dev->timer);
- if (dev->primary->master) {
- drm_put_master(dev->primary->master);
- dev->primary->master = NULL;
- }
-
/* Clear AGP information */
if (drm_core_has_AGP(dev) && dev->agp) {
struct drm_agp_mem *entry, *tempe;
@@ -400,9 +395,10 @@ static void drm_cleanup(struct drm_device * dev)
drm_ht_remove(&dev->map_hash);
drm_memrange_takedown(&dev->offset_manager);
- drm_put_minor(dev, &dev->primary);
if (drm_core_check_feature(dev, DRIVER_MODESET))
- drm_put_minor(dev, &dev->control);
+ drm_put_minor(&dev->control);
+
+ drm_put_minor(&dev->primary);
if (drm_put_dev(dev))
DRM_ERROR("Cannot unload module\n");