Selaa lähdekoodia

drm: remove hash tables on drm exit

Signed-off-by: Dave Airlie <airlied@linux.ie>
Thomas Hellstrom 19 vuotta sitten
vanhempi
commit
1f4eccfdb2
2 muutettua tiedostoa jossa 4 lisäystä ja 0 poistoa
  1. 2 0
      drivers/char/drm/drm_drv.c
  2. 2 0
      drivers/char/drm/drm_fops.c

+ 2 - 0
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);

+ 2 - 0
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)