summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Hellstrom <thomas-at-tungstengraphics-dot-com>2006-08-16 16:36:56 +0200
committerThomas Hellstrom <thomas-at-tungstengraphics-dot-com>2006-08-16 16:36:56 +0200
commit0316f93d51abc52b816e936e0ece304ac47799c3 (patch)
treedc3600bb142ea18fa783d25fc6025a085e78ed46
parent4daa024918d461ab8d173631fa5187dc50253b67 (diff)
Remove hash tables on DRM exit.
-rw-r--r--linux-core/drm_drv.c2
-rw-r--r--linux-core/drm_fops.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/linux-core/drm_drv.c b/linux-core/drm_drv.c
index 79209dbf..9712170b 100644
--- a/linux-core/drm_drv.c
+++ b/linux-core/drm_drv.c
@@ -169,6 +169,7 @@ int drm_lastclose(drm_device_t * dev)
drm_ht_remove_item(&dev->magiclist, &pt->hash_item);
drm_free(pt, sizeof(*pt), DRM_MEM_MAGIC);
}
+ drm_ht_remove(&dev->magiclist);
}
@@ -349,6 +350,7 @@ static void __exit drm_cleanup(drm_device_t * dev)
if (dev->maplist) {
drm_free(dev->maplist, sizeof(*dev->maplist), DRM_MEM_MAPS);
dev->maplist = NULL;
+ drm_ht_remove(&dev->map_hash);
}
if (!drm_fb_loaded)
diff --git a/linux-core/drm_fops.c b/linux-core/drm_fops.c
index a58f3ae8..691edff9 100644
--- a/linux-core/drm_fops.c
+++ b/linux-core/drm_fops.c
@@ -53,6 +53,8 @@ static int drm_setup(drm_device_t * dev)
return ret;
}
+ dev->magicfree.next = NULL;
+
/* prebuild the SAREA */
i = drm_addmap(dev, 0, SAREA_MAX, _DRM_SHM, _DRM_CONTAINS_LOCK, &map);
if (i != 0)