[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