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