aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/drm_gem.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
index ad955d7c99fd..1b0c2c127072 100644
--- a/drivers/gpu/drm/drm_gem.c
+++ b/drivers/gpu/drm/drm_gem.c
@@ -642,7 +642,6 @@ drm_gem_flink_ioctl(struct drm_device *dev, void *data,
642 return -ENOENT; 642 return -ENOENT;
643 643
644 mutex_lock(&dev->object_name_lock); 644 mutex_lock(&dev->object_name_lock);
645 idr_preload(GFP_KERNEL);
646 /* prevent races with concurrent gem_close. */ 645 /* prevent races with concurrent gem_close. */
647 if (obj->handle_count == 0) { 646 if (obj->handle_count == 0) {
648 ret = -ENOENT; 647 ret = -ENOENT;
@@ -650,7 +649,7 @@ drm_gem_flink_ioctl(struct drm_device *dev, void *data,
650 } 649 }
651 650
652 if (!obj->name) { 651 if (!obj->name) {
653 ret = idr_alloc(&dev->object_name_idr, obj, 1, 0, GFP_NOWAIT); 652 ret = idr_alloc(&dev->object_name_idr, obj, 1, 0, GFP_KERNEL);
654 if (ret < 0) 653 if (ret < 0)
655 goto err; 654 goto err;
656 655
@@ -661,7 +660,6 @@ drm_gem_flink_ioctl(struct drm_device *dev, void *data,
661 ret = 0; 660 ret = 0;
662 661
663err: 662err:
664 idr_preload_end();
665 mutex_unlock(&dev->object_name_lock); 663 mutex_unlock(&dev->object_name_lock);
666 drm_gem_object_unreference_unlocked(obj); 664 drm_gem_object_unreference_unlocked(obj);
667 return ret; 665 return ret;