On Thu, Jul 01, 2021 at 10:03:26AM +0100, Matthew Auld wrote: > If we hit the error path here we unconditionally call > i915_gem_stolen_remove_node, even though we only allocate the > compressed_llb on older platforms. Therefore we should first check that > we actually allocated the node before trying to remove it. > > References: https://gitlab.freedesktop.org/drm/intel/-/issues/3709 Doh! Seems pre-merge testing didn't hit this, or I just suck at reading the logs :( Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > Fixes: 46b2c40e0af3 ("drm/i915/fbc: Allocate llb before cfb") > Signed-off-by: Matthew Auld <matthew.auld@xxxxxxxxx> > Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > Cc: José Roberto de Souza <jose.souza@xxxxxxxxx> > --- > drivers/gpu/drm/i915/display/intel_fbc.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c > index 7dc72e4a4656..82effb64a3b9 100644 > --- a/drivers/gpu/drm/i915/display/intel_fbc.c > +++ b/drivers/gpu/drm/i915/display/intel_fbc.c > @@ -516,7 +516,8 @@ static int intel_fbc_alloc_cfb(struct drm_i915_private *dev_priv, > return 0; > > err_llb: > - i915_gem_stolen_remove_node(dev_priv, &fbc->compressed_llb); > + if (drm_mm_node_allocated(&fbc->compressed_llb)) > + i915_gem_stolen_remove_node(dev_priv, &fbc->compressed_llb); > err: > if (drm_mm_initialized(&dev_priv->mm.stolen)) > drm_info_once(&dev_priv->drm, "not enough stolen space for compressed buffer (need %d more bytes), disabling. Hint: you may be able to increase stolen memory size in the BIOS to avoid this.\n", size); > -- > 2.26.3 -- Ville Syrjälä Intel _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx