[Intel-gfx] [PATCH 04/66] drm/i915: Add a couple of missing i915_active_fini()
Tvrtko Ursulin
tvrtko.ursulin at linux.intel.com
Fri Jul 17 12:00:35 UTC 2020
On 15/07/2020 12:50, Chris Wilson wrote:
> 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 at chris-wilson.co.uk>
> ---
> drivers/gpu/drm/i915/display/intel_frontbuffer.c | 2 ++
> drivers/gpu/drm/i915/gt/selftest_engine_heartbeat.c | 5 ++++-
> 2 files changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_frontbuffer.c b/drivers/gpu/drm/i915/display/intel_frontbuffer.c
> index 2979ed2588eb..d898b370d7a4 100644
> --- a/drivers/gpu/drm/i915/display/intel_frontbuffer.c
> +++ b/drivers/gpu/drm/i915/display/intel_frontbuffer.c
> @@ -232,6 +232,8 @@ static void frontbuffer_release(struct kref *ref)
> 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);
> }
> diff --git a/drivers/gpu/drm/i915/gt/selftest_engine_heartbeat.c b/drivers/gpu/drm/i915/gt/selftest_engine_heartbeat.c
> index 73243ba59c7d..e73854dd2fe0 100644
> --- a/drivers/gpu/drm/i915/gt/selftest_engine_heartbeat.c
> +++ b/drivers/gpu/drm/i915/gt/selftest_engine_heartbeat.c
> @@ -47,7 +47,10 @@ static int pulse_active(struct i915_active *active)
>
> 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)
>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
Regards,
Tvrtko
More information about the Intel-gfx
mailing list