[Intel-gfx] [PATCH 09/40] drm/i915/selftests: Free the batch along the contexts error path
Chris Wilson
chris at chris-wilson.co.uk
Thu Sep 20 08:36:56 UTC 2018
Quoting Mika Kuoppala (2018-09-20 09:30:22)
> Chris Wilson <chris at chris-wilson.co.uk> writes:
>
> > Remember to release the batch bo reference if we hit an error trying to
> > submit our MI_STORE_DWORD_IMM.
> >
> > References: https://bugs.freedesktop.org/show_bug.cgi?id=107979
> > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> > ---
> > drivers/gpu/drm/i915/selftests/i915_gem_context.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_context.c b/drivers/gpu/drm/i915/selftests/i915_gem_context.c
> > index 79f9bcaf0c05..a89d31075c7a 100644
> > --- a/drivers/gpu/drm/i915/selftests/i915_gem_context.c
> > +++ b/drivers/gpu/drm/i915/selftests/i915_gem_context.c
> > @@ -195,6 +195,7 @@ static int gpu_fill(struct drm_i915_gem_object *obj,
> > i915_request_add(rq);
> > err_batch:
> > i915_vma_unpin(batch);
> > + i915_vma_put(batch);
>
> Looks good in here but in gpu_fill_dw we have similar
> problem? We release the object ref but don't
> release the vma when returning ERR_PTR.
The dirty secret is that vma don't have refs, they are owned by their
parent object (with a secondary lifetime constraint from the vm).
i915_vma_put(vma) == i915_gem_object_put(vma->obj);
-Chris
More information about the Intel-gfx
mailing list