On Wed, May 14, 2014 at 07:14:13PM +0300, Ville Syrjälä wrote:
> On Fri, Feb 14, 2014 at 02:06:07PM +0100, Daniel Vetter wrote:
> > Otherwise we end up tearing down fences when e.g. the client quits
> > way too early. Might or might not fix a fence pin_count BUG Ville has
> > reported.
> > 
> > Cc: Ville Syrjälä <ville.syrj...@linux.intel.com>
> > Signed-off-by: Daniel Vetter <daniel.vet...@ffwll.ch>
> 
> For patches 1 and 3:
> Reviewed-by: Ville Syrjälä <ville.syrj...@linux.intel.com>

Merged, thanks for the review and writing the testcase.
-Daniel
> 
> > ---
> >  drivers/gpu/drm/i915/i915_gem.c | 12 +++++++-----
> >  1 file changed, 7 insertions(+), 5 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/i915_gem.c 
> > b/drivers/gpu/drm/i915/i915_gem.c
> > index 675ad96a43e1..fa00b26a9cf7 100644
> > --- a/drivers/gpu/drm/i915/i915_gem.c
> > +++ b/drivers/gpu/drm/i915/i915_gem.c
> > @@ -2731,12 +2731,14 @@ int i915_vma_unbind(struct i915_vma *vma)
> >      * cause memory corruption through use-after-free.
> >      */
> >  
> > -   i915_gem_object_finish_gtt(obj);
> > +   if (i915_is_ggtt(vma->vm)) {
> > +           i915_gem_object_finish_gtt(obj);
> >  
> > -   /* release the fence reg _after_ flushing */
> > -   ret = i915_gem_object_put_fence(obj);
> > -   if (ret)
> > -           return ret;
> > +           /* release the fence reg _after_ flushing */
> > +           ret = i915_gem_object_put_fence(obj);
> > +           if (ret)
> > +                   return ret;
> > +   }
> >  
> >     trace_i915_vma_unbind(vma);
> >  
> > -- 
> > 1.8.5.2
> 
> -- 
> Ville Syrjälä
> Intel OTC

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to