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

Reply via email to