Commit 01fa6620 authored by Matthew Auld's avatar Matthew Auld

drm/i915/display: check if compressed_llb was allocated

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
Fixes: 46b2c40e ("drm/i915/fbc: Allocate llb before cfb")
Signed-off-by: default avatarMatthew Auld <matthew.auld@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: default avatarJosé Roberto de Souza <jose.souza@intel.com>
Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210701090326.1056452-1-matthew.auld@intel.com
parent 3352d86d
...@@ -516,6 +516,7 @@ static int intel_fbc_alloc_cfb(struct drm_i915_private *dev_priv, ...@@ -516,6 +516,7 @@ static int intel_fbc_alloc_cfb(struct drm_i915_private *dev_priv,
return 0; return 0;
err_llb: err_llb:
if (drm_mm_node_allocated(&fbc->compressed_llb))
i915_gem_stolen_remove_node(dev_priv, &fbc->compressed_llb); i915_gem_stolen_remove_node(dev_priv, &fbc->compressed_llb);
err: err:
if (drm_mm_initialized(&dev_priv->mm.stolen)) if (drm_mm_initialized(&dev_priv->mm.stolen))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment