From: Thomas Hellstrom Date: Fri, 18 Aug 2006 06:37:10 +0000 (+1000) Subject: drm: remove hash tables on drm exit X-Git-Tag: v2.6.19-rc1~641^2~11 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1f4eccfdb2a5f8b2751aea8cf2d6b00401c156e0;p=linux-2.6 drm: remove hash tables on drm exit Signed-off-by: Dave Airlie --- diff --git a/drivers/char/drm/drm_drv.c b/drivers/char/drm/drm_drv.c index 654b95cdd9..b366c5b1bd 100644 --- a/drivers/char/drm/drm_drv.c +++ b/drivers/char/drm/drm_drv.c @@ -161,6 +161,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); } /* Clear AGP information */ @@ -299,6 +300,7 @@ static void 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); } drm_ctxbitmap_cleanup(dev); diff --git a/drivers/char/drm/drm_fops.c b/drivers/char/drm/drm_fops.c index 2bbf45d85c..898f47dafe 100644 --- a/drivers/char/drm/drm_fops.c +++ b/drivers/char/drm/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)