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; }
(cc'ing Andrew)
Hello,
On Sun, Feb 10, 2013 at 03:49:05PM +0400, Artem Savkov wrote:
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);
ret = 0;idr_preload_end();
Oops, sorry about that.
Acked-by: Tejun Heo tj@kernel.org
Andrew, the original patch can be found at
http://article.gmane.org/gmane.linux.kernel/1439101/raw
Thanks.
dri-devel@lists.freedesktop.org