Added missing idr_preload_end calls in drm_gem_flink_ioctl(). Without those preemption stays disabled resulting in lots of "scheduling while atomic" BUGs.
Introduced in 4e486fae707d9a79c76f1be6dcacffc4a721cc1b (linux-next.git)
Signed-off-by: Artem Savkov artem.savkov@gmail.com --- drivers/gpu/drm/drm_gem.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c index 6577514..f1700ef 100644 --- a/drivers/gpu/drm/drm_gem.c +++ b/drivers/gpu/drm/drm_gem.c @@ -456,6 +456,7 @@ drm_gem_flink_ioctl(struct drm_device *dev, void *data, obj->name = ret; args->name = (uint64_t) obj->name; spin_unlock(&dev->object_name_lock); + idr_preload_end();
if (ret < 0) goto err; @@ -465,6 +466,7 @@ drm_gem_flink_ioctl(struct drm_device *dev, void *data, } else { args->name = (uint64_t) obj->name; spin_unlock(&dev->object_name_lock); + idr_preload_end(); ret = 0; }