Hi, [...] > > 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); > > Why irqsave and the conversion to irq safe elsewhere? Worker context does > not require it and I don't see the connection to the change of list_del > location. yah! I think there is no reason, this is just inherited from other code. Andi > Regards, > > Tvrtko > > > + list_del(&ctx->link); > > + spin_unlock_irqrestore(&ctx->i915->gem.contexts.lock, flags); > > + > > if (ctx->syncobj) > > drm_syncobj_put(ctx->syncobj); ...