diff options
-rw-r--r-- | drivers/gpu/drm/drm_gem.c | 4 |
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 | ||
663 | err: | 662 | err: |
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; |