We use i915_active_fini() as a debug check on the i915_active state
before freeing. If we forget to call it, we may end up angering the
debugobjects contained within.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200731085015.32368-1-chris@chris-wilson.co.uk
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
        RCU_INIT_POINTER(obj->frontbuffer, NULL);
        spin_unlock(&to_i915(obj->base.dev)->fb_tracking.lock);
 
+       i915_active_fini(&front->write);
+
        i915_gem_object_put(obj);
        kfree_rcu(front, rcu);
 }
 
 
 static void pulse_free(struct kref *kref)
 {
-       kfree(container_of(kref, struct pulse, kref));
+       struct pulse *p = container_of(kref, typeof(*p), kref);
+
+       i915_active_fini(&p->active);
+       kfree(p);
 }
 
 static void pulse_put(struct pulse *p)