[Intel-gfx] [PATCH] drm/i915: Only unlink ggtt->global_link after i915_gem_load

Chris Wilson chris at chris-wilson.co.uk
Fri Jan 10 21:28:33 CET 2014


On Fri, Jan 10, 2014 at 12:22:44PM -0800, Ben Widawsky wrote:
> On Mon, Dec 16, 2013 at 06:58:20PM +0000, Chris Wilson wrote:
> > On Mon, Dec 16, 2013 at 12:01:07PM +0000, Chris Wilson wrote:
> > > If i915_driver_load fails before i915_gem_load we try to unlink the ggtt
> > > prior to initialising the list and triggering an oops.
> > 
> > This is incomplete.
> >  
> > > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> > > ---
> > >  drivers/gpu/drm/i915/i915_dma.c | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
> > > index df1410ecbb8b..6364c503f97d 100644
> > > --- a/drivers/gpu/drm/i915/i915_dma.c
> > > +++ b/drivers/gpu/drm/i915/i915_dma.c
> > > @@ -1683,11 +1683,11 @@ out_gem_unload:
> > >  	intel_teardown_gmbus(dev);
> > >  	intel_teardown_mchbar(dev);
> > >  	destroy_workqueue(dev_priv->wq);
> > > +	list_del(&dev_priv->gtt.base.global_link);
> 
> This is correct.
> 
> > +	dev_priv->gtt.base.cleanup(&dev_priv->gtt.base);
> 
> I'm not convinced here. It should be safe [ideal] to call cleanup after
> we've setup the function pointer, which would be out_gtt; it's done in
> i915_gem_gtt_init(). If it's not safe to call for some reason, we should
> fix cleanup()

It blew up, hence the amendment, iirc.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre



More information about the Intel-gfx mailing list