drm: clean the map list before destroying the hash table
authorBen Skeggs <bskeggs@redhat.com>
Mon, 2 Mar 2009 01:13:04 +0000 (11:13 +1000)
committerDave Airlie <airlied@redhat.com>
Fri, 24 Apr 2009 05:08:41 +0000 (15:08 +1000)
The hash tables contains some of the mapping
so its really nice to have it for the deletion phase.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/drm_stub.c

index ef87861..e8c2fd4 100644 (file)
@@ -502,11 +502,11 @@ void drm_put_dev(struct drm_device *dev)
                dev->agp = NULL;
        }
 
-       drm_ht_remove(&dev->map_hash);
-       drm_ctxbitmap_cleanup(dev);
-
        list_for_each_entry_safe(r_list, list_temp, &dev->maplist, head)
                drm_rmmap(dev, r_list->map);
+       drm_ht_remove(&dev->map_hash);
+
+       drm_ctxbitmap_cleanup(dev);
 
        if (drm_core_check_feature(dev, DRIVER_MODESET))
                drm_put_minor(&dev->control);