[PATCH] drm/i915/gem: Really move i915_gem_context.link under ref protection

Andi Shyti andi.shyti at linux.intel.com
Wed Jul 6 22:34:08 UTC 2022


Hi,

[...]

> @@ -1265,10 +1264,15 @@ static void i915_gem_context_release_work(struct work_struct *work)
>  	struct i915_gem_context *ctx = container_of(work, typeof(*ctx),
>  						    release_work);
>  	struct i915_address_space *vm;
> +	unsigned long flags;
>  
>  	trace_i915_context_free(ctx);
>  	GEM_BUG_ON(!i915_gem_context_is_closed(ctx));
>  
> +	spin_lock_irqsave(&ctx->i915->gem.contexts.lock, flags);
> +	list_del(&ctx->link);
> +	spin_unlock_irqrestore(&ctx->i915->gem.contexts.lock, flags);
> +

yah! this can't work from a worker.

Andi


More information about the dri-devel mailing list