diff options
-rw-r--r-- | linux-core/drm_drv.c | 2 | ||||
-rw-r--r-- | linux-core/drm_fops.c | 2 |
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) |