drm: don't remove mappings added by the driver
authorDave Airlie <airlied@linux.ie>
Thu, 15 Nov 2007 05:51:48 +0000 (16:51 +1100)
committerDave Airlie <airlied@linux.ie>
Thu, 15 Nov 2007 05:51:48 +0000 (16:51 +1100)
linux-core/drm_drv.c

index 8313b3e..99eba97 100644 (file)
@@ -250,8 +250,10 @@ int drm_lastclose(struct drm_device * dev)
        }
 
        list_for_each_entry_safe(r_list, list_t, &dev->maplist, head) {
-               drm_rmmap_locked(dev, r_list->map);
-               r_list = NULL;
+               if (!(r_list->map->flags & _DRM_DRIVER)) {
+                       drm_rmmap_locked(dev, r_list->map);
+                       r_list = NULL;
+               }
        }
 
        if (drm_core_check_feature(dev, DRIVER_DMA_QUEUE) && dev->queuelist) {