drm/kms: Duct-tape for mode object lifetime checks
[linux-2.6-microblaze.git] / drivers / gpu / drm / drm_mode_object.c
index c355ba8..6a23e36 100644 (file)
@@ -42,7 +42,7 @@ int __drm_mode_object_add(struct drm_device *dev, struct drm_mode_object *obj,
 {
        int ret;
 
-       WARN_ON(dev->registered && !obj_free_cb);
+       WARN_ON(!dev->driver->load && dev->registered && !obj_free_cb);
 
        mutex_lock(&dev->mode_config.idr_mutex);
        ret = idr_alloc(&dev->mode_config.object_idr, register_obj ? obj : NULL,
@@ -104,7 +104,7 @@ void drm_mode_object_register(struct drm_device *dev,
 void drm_mode_object_unregister(struct drm_device *dev,
                                struct drm_mode_object *object)
 {
-       WARN_ON(dev->registered && !object->free_cb);
+       WARN_ON(!dev->driver->load && dev->registered && !object->free_cb);
 
        mutex_lock(&dev->mode_config.idr_mutex);
        if (object->id) {