Hi Joonas, ... > > void intel_engines_driver_register(struct drm_i915_private *i915) > > { > > - u16 name_instance, other_instance = 0; > > + u16 class_instance[I915_LAST_UABI_ENGINE_CLASS + 1] = { }; > > Do you mean this to be size I915_LAST_UABI_ENGINE_CLASS + 2? Because ... Yes, this is an oversight. I was playing around with indexes to optimize the code a bit more and I forgot to restore this back. Thanks, Andi > <SNIP> > > > @@ -222,15 +224,14 @@ void intel_engines_driver_register(struct drm_i915_private *i915) > > > > GEM_BUG_ON(engine->class >= ARRAY_SIZE(uabi_classes)); > > engine->uabi_class = uabi_classes[engine->class]; > > - if (engine->uabi_class == I915_NO_UABI_CLASS) { > > - name_instance = other_instance++; > > - } else { > > - GEM_BUG_ON(engine->uabi_class >= > > - ARRAY_SIZE(i915->engine_uabi_class_count)); > > - name_instance = > > - i915->engine_uabi_class_count[engine->uabi_class]++; > > - } > > - engine->uabi_instance = name_instance; > > + > > + if (engine->uabi_class == I915_NO_UABI_CLASS) > > + uabi_class = I915_LAST_UABI_ENGINE_CLASS + 1; > > .. otherwise this ... > > > + else > > + uabi_class = engine->uabi_class; > > + > > + GEM_BUG_ON(uabi_class >= ARRAY_SIZE(class_instance)); > > .. will trigger this assertion? > > Regards, Joonas