|
@@ -642,7 +642,6 @@ drm_gem_flink_ioctl(struct drm_device *dev, void *data,
|
|
|
return -ENOENT;
|
|
|
|
|
|
mutex_lock(&dev->object_name_lock);
|
|
|
- idr_preload(GFP_KERNEL);
|
|
|
/* prevent races with concurrent gem_close. */
|
|
|
if (obj->handle_count == 0) {
|
|
|
ret = -ENOENT;
|
|
@@ -650,7 +649,7 @@ drm_gem_flink_ioctl(struct drm_device *dev, void *data,
|
|
|
}
|
|
|
|
|
|
if (!obj->name) {
|
|
|
- ret = idr_alloc(&dev->object_name_idr, obj, 1, 0, GFP_NOWAIT);
|
|
|
+ ret = idr_alloc(&dev->object_name_idr, obj, 1, 0, GFP_KERNEL);
|
|
|
if (ret < 0)
|
|
|
goto err;
|
|
|
|
|
@@ -661,7 +660,6 @@ drm_gem_flink_ioctl(struct drm_device *dev, void *data,
|
|
|
ret = 0;
|
|
|
|
|
|
err:
|
|
|
- idr_preload_end();
|
|
|
mutex_unlock(&dev->object_name_lock);
|
|
|
drm_gem_object_unreference_unlocked(obj);
|
|
|
return ret;
|