mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] drm: missing idr_preload_end in drm_gem_flink_ioctl
@ 2013-02-10 11:49 Artem Savkov
  2013-02-12 17:28 ` Tejun Heo
  0 siblings, 1 reply; 2+ messages in thread
From: Artem Savkov @ 2013-02-10 11:49 UTC (permalink / raw)
  To: Tejun Heo, David Airlie, dri-devel, linux-kernel; +Cc: Artem Savkov

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;
 	}
 
-- 
1.8.1.1


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] drm: missing idr_preload_end in drm_gem_flink_ioctl
  2013-02-10 11:49 [PATCH] drm: missing idr_preload_end in drm_gem_flink_ioctl Artem Savkov
@ 2013-02-12 17:28 ` Tejun Heo
  0 siblings, 0 replies; 2+ messages in thread
From: Tejun Heo @ 2013-02-12 17:28 UTC (permalink / raw)
  To: Artem Savkov; +Cc: David Airlie, dri-devel, linux-kernel, Andrew Morton

(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);
> +		idr_preload_end();
>  		ret = 0;

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.

-- 
tejun

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-02-12 17:28 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-02-10 11:49 [PATCH] drm: missing idr_preload_end in drm_gem_flink_ioctl Artem Savkov
2013-02-12 17:28 ` Tejun Heo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®