diff options
Diffstat (limited to 'drivers/gpu/drm/drm_gem.c')
-rw-r--r-- | drivers/gpu/drm/drm_gem.c | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c index 01c3613fefa..d6122ae6bf8 100644 --- a/drivers/gpu/drm/drm_gem.c +++ b/drivers/gpu/drm/drm_gem.c @@ -265,56 +265,6 @@ drm_gem_object_handle_unreference_unlocked(struct drm_gem_object *obj) drm_gem_object_unreference_unlocked(obj); } -static void drm_gem_object_ref_bug(struct kref *list_kref) -{ - BUG(); -} - -/** - * Called after the last handle to the object has been closed - * - * Removes any name for the object. Note that this must be - * called before drm_gem_object_free or we'll be touching - * freed memory - */ -static void drm_gem_object_handle_free(struct drm_gem_object *obj) -{ - struct drm_device *dev = obj->dev; - - /* Remove any name for this object */ - if (obj->name) { - idr_remove(&dev->object_name_idr, obj->name); - obj->name = 0; - /* - * The object name held a reference to this object, drop - * that now. - * - * This cannot be the last reference, since the handle holds one too. - */ - kref_put(&obj->refcount, drm_gem_object_ref_bug); - } -} - -static void -drm_gem_object_handle_unreference_unlocked(struct drm_gem_object *obj) -{ - if (WARN_ON(obj->handle_count == 0)) - return; - - /* - * Must bump handle count first as this may be the last - * ref, in which case the object would disappear before we - * checked for a name - */ - - mutex_lock(&obj->dev->object_name_lock); - if (--obj->handle_count == 0) - drm_gem_object_handle_free(obj); - mutex_unlock(&obj->dev->object_name_lock); - - drm_gem_object_unreference_unlocked(obj); -} - /** * Removes the mapping from handle to filp for this object. */ |